打印

不能不知道的FPGA系统设计的3原则

[复制链接]
3352|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AutoESL|  楼主 | 2011-10-19 22:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一.面积与速度的平衡互换原则
这里的面积指的是FPGA的芯片资源,包括逻辑资源和I/O资源等;这里的速度指的是FPGA工作的最高频率(和DSP或者ARM不同,FPGA设计的工作频率是不固定的,而是和设计本身的延迟紧密相连)。在实际设计中,使用最小的面积设计出最高的速度是每一个开发者追求的目标,但是“鱼和熊掌不可兼得”,取舍之间展示了一个开发者的智慧。
1.速度换面积
  速度优势可以换取面积的节约。面积越小,就意味着可以用更低的成本来实现产品的功能。速度换面积的原则在一些较复杂的算法设计中常常会用到。在这些算法设计中,流水线设计常常是必须用到的技术。在流水线的设计中,这些被重复使用但是使用次数不同的模块将会占用大量的FPGA资源。对FPGA的设计技术进行改造,将被重复使用的算法模块提炼出最小的复用单元,并利用这个最小的高速代替原设计中被重复使用但次数不同的模块。当然,在改造的过程中必然会增加一些其他的资源来实现这个代替的过程。但是只要速度具有优势,那么增加的这部分逻辑依然能够实现降低面积提高速度的目的
  可以看到,速度换面积的关键是高速基本单元的复用。
2.面积换速度
  在这种方法中面积的复制可以换取速度的提高。支持的速度越高,就意味着可以实现更高的产品性能。一些注重产品性能的应用领域可以采用并行处理技术,实现面积换速度。
二.硬件可实现原则

 FPGA设计通常会使用HDL语言,比如VerilogHDL或者VHDL。当采用HDL语言来描述一个硬件电路功能的时候,一定要确保代码描述的电路是硬件可实现的。
       VerilogHDL语言的语法与C语言很相似,但是它们之间有着本质的区别。C语言是基于过程的高级语言,编译后可以在CPU上运行。而VerilogHDL语言描述的本身就是硬件结构,编译后是硬件电路。因此,有些语句在C语言的环境中应用是没有问题的,但是在HDL语言环境下就会导致结果不正确或者不理想。如:
          for(i=0;i<16;i++)
              DoSomething();
在C语言中运行没有任何问题,但是在Verilog HDL的环境下编译就会导致综合后的资源严重浪费。
三. 同步设计原则
同步电路和异步电路是FPGA设计的两种基本电路结构形式。
异步电路的最大缺点是会产生毛刺。同步设计的核心电路是由各种触发器构成的。这类电路的任何输出都是在某个时钟的边沿驱动触发器产生的。所以,同步设计可以很好地避免毛刺的产生。

相关帖子

沙发
AutoESL|  楼主 | 2011-10-19 22:55 | 只看该作者
板凳
xuehua230| | 2011-10-19 22:59 | 只看该作者
这是我一个朋友写的,你们居然乱来啊。

使用特权

评论回复
地板
xuehua230| | 2011-10-19 22:59 | 只看该作者
告你去。

使用特权

评论回复
5
AutoESL|  楼主 | 2011-10-19 23:06 | 只看该作者
不允许转载吗

使用特权

评论回复
6
欠起脚尖儿| | 2011-10-21 10:32 | 只看该作者
呵呵,好东西大家分享。

使用特权

评论回复
7
GoldSunMonkey| | 2011-10-21 11:08 | 只看该作者
不允许转载吗
AutoESL 发表于 2011-10-19 23:06

这是Westor的**。多少年了。

使用特权

评论回复
8
AutoESL|  楼主 | 2011-10-21 12:44 | 只看该作者
:D

使用特权

评论回复
9
GoldSunMonkey| | 2011-10-21 12:57 | 只看该作者
;P

使用特权

评论回复
10
AutoESL|  楼主 | 2011-10-21 13:23 | 只看该作者
经典的东西不过时

使用特权

评论回复
11
GoldSunMonkey| | 2011-10-21 15:08 | 只看该作者
我是不是应该写个更好的:)

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
nongfuxu + 1
12
AutoESL|  楼主 | 2011-10-21 17:09 | 只看该作者
期待!

使用特权

评论回复
13
GoldSunMonkey| | 2011-10-21 17:16 | 只看该作者
哈哈,什么时候公布楼层啊

使用特权

评论回复
14
AutoESL|  楼主 | 2011-10-21 20:11 | 只看该作者
怎么到这里问这个楼层,地方错了

使用特权

评论回复
15
GoldSunMonkey| | 2011-10-21 22:07 | 只看该作者
怎么到这里问这个楼层,地方错了
AutoESL 发表于 2011-10-21 20:11

我是问你,你是Xilinx的

使用特权

评论回复
16
zy7598865| | 2011-11-7 22:10 | 只看该作者
呵呵,这个是的

使用特权

评论回复
17
mcu8031| | 2011-11-8 09:14 | 只看该作者
初来乍到,跟帖学习...

使用特权

评论回复
18
super-x-man| | 2011-11-8 13:18 | 只看该作者
有些内容,大概已经过时了。

使用特权

评论回复
19
AutoESL|  楼主 | 2011-11-8 15:01 | 只看该作者
哇,这个账号有个性:lol

使用特权

评论回复
20
jakfens| | 2011-11-8 15:09 | 只看该作者
最近super xman的账号多了很多

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:天使宝贝 博客IT人生 From C/C++/SystemC to Xilinx FPGA

0

主题

2517

帖子

3

粉丝