易截截图软件、单文件、免安装、纯绿色、仅160KB

Can C beat RTL?


http://www.edn.com/article/457428-Can_C_beat_RTL_.php 
With the appearance of higher speeds and more DSP macrocells in low-cost FPGAs, more and more design teams are seeing the configurable chips not as glue but as a way to accelerate the inner loops of numerical algorithms, either in conjunction with or in place of the traditional DSP chip. There’s a problem, however. You code for a DSP chip in C, and you implement it using a conventional software tool chain with familiar software debugging tools. You configure an FPGA starting in Verilog or VHDL (very-high-speed-integrated-circuit-hardware-description language)—superficially similar to C but in practice profoundly different—and you implement it using a hardware design flow. The two approaches require different skills.
Enter ESL (electronic-system-level) tools. An ESL synthesis tool lets you write your code in C, automatically synthesize RTL (register-transfer-level) logic from the C, and then feed the RTL into your FPGA flow. In reality, such tools meet with skepticism because people suspect them of poor quality of results, unreliability, and other vices. Is that assessment fair, though? BDTI (Berkeley Design Technology Inc) wanted to find out.
The company last month released the first results of its certification program for high-level synthesis tools. The first evaluation covers AutoESL’s AutoPilot and Synfora’s Pico. The bottom line in BDTI’s findings was that both tools produced results in a reasonable amount of time and that both performed much better than software on a DSP chip. The tools were comparable in density and performance with hand-coded RTL. The fine print reveals a wealth of information below that level, however.
Unsurprisingly, both ESL vendors produced designs with about 40 times the throughput of the best BDTI engineers could do on a Texas Instruments DM6437 DSP chip. Surprisingly, in a separate test with a smaller design, results from the ESL flow


相关文档:

【C/C++】static和const的比较和解释


载自http://www.builder.com.cn/
 
       static
是c++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static
修饰符的实质。
  static 的两大作用:
  一、控制存储方式:
  static被引入以告知编译器,将变 ......

如何写出专业的C头文件

做到专业,应该是每个职业程序员应该要求自己做到的。
让我们看看lua

怎么写头文件的。
1.License Agreement
License
Agreement
应该加在每个头文件的顶部。
Lua Sample:
/*
** $Id: lua.h,v 1.175b 2003/03/18 12:31:39 roberto Exp $
** Lua - An ......

关于 extern "C"

当这个世界还只有C的时候,是不需要extern "C"的。
但是,当C++出现之后,有时候,我们就需要extern "C"了。
那究竟是在什么样的情况下,我们需要用extern "C"呢?
有人说,是为了C能够调用C++,有人说是为了在C++中能调用C的库函数。是不是把你弄糊涂了?
先说说extern "C"是啥作用吧。
extern "C" 是告诉C++编译器, ......

C中enum类型成员的参数变化

enum类型的成员,默认情况下是从0开始赋值; 
如果中间某个成员进行了手动赋值的话,该成员的下一个成员的值为该成员的值+1
#include <stdio.h>
typedef enum {
PLAYMODE = 1, // 默认从0开始
PAUSEMODE,
STOPMODE = 5,
TRACKRPTMODE,
MIXMODE
}Status_t;
int main()
{
int n = 4;
sw ......

C/C++程序内存分配详解

   
非时尚●2010新款 宫廷复古罗马鞋真皮凉鞋舒适平底鞋女鞋
189.0元 
一个由C/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。
2、堆区(h ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号