集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2324|回复: 1

FPGA设计应注意的一些问题

[复制链接]
小泡泡 发表于 2010-4-23 12:45:54 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2011-5-22 09:47 编辑

(1)所有的状态机输入,包括复位、置位信号,都要用同步信号。所有的状态机输出都要
用寄存器寄存输出。注意在状态机设计中不要出现死锁状态。

(2)要用寄存器和触发器设计电路,尽量不要用锁存器,因它对输入信号的毛刺太敏感。
如果坚持用锁存器设计必须保证输入信号绝对没有毛刺,且满足保持时间。 (3)设计译码
逻辑电路时必须十分小心,因为译码器和比较器本身会产生尖峰,容易产生毛刺,把译码
器或比较器的输出直接连到时钟输入端或异步清除端,会造成严重的后果。

(4)应该尽量避免隐含RS触发器的出现。一般要控制输出被直接反馈到输入端,采用反
馈环路会出现隐含RS触发器,其对输入尖峰和假信号很敏感,输入端有任何变化都有可
能使输出值立刻改变,此时易造成毛刺的产生,导致时序的严重混乱。一旦具有隐含的R
S触发器,加锁存器消除毛刺是不能解决问题的。此时只有通过全面修改电路来从根本上
解决。 (5)每一个模块中只用一个时钟,避免使用多时钟设计,同时避免使用主时钟分频
后的二次时钟作为时序器件的时钟输入,因为二次时钟相对于一次时钟可能存在过大的时
钟歪斜。对所有模块的输入时钟、输入信号、输出信号都用D触发器或寄存器进行同步处
理,即输出信号直接来自触发器或寄存器的输出端。这样可以消除尖峰和毛刺信号。不论
是控制信号还是地址总线信号、数据总线信号,都要采用另外的寄存器,以使内部歪斜的
数据变成同步的数据。这些表面上看似乎无用的操作可以大大提高电路系统的性能。 (6
)应该尽量避免使用延迟线,因它对工艺过程的变化极为敏感,会大大降低电路的稳定性和
可靠性,并将为测试带来麻烦。

(7)大部分FPGA器件都为时钟、复位、预置等信号提供特殊的全局布线资源,要充分利用
这些资源。这样可以减少电路中的毛刺并且大大提高设计电路的性能。

(8)不要试图用HDL语言去综合RAM、ROM或FIFO等存储模块。当前的综合工
具主要用于产生逻辑电路,如需要用这些模块,直接调用或例化相应的宏单元即可。

(9)注意仿真结果和实际综合的电路的不一致性。无论是时序电路还是异步逻辑电路,其
行为与其仿真器结果都是不完全一样的。特别是异步逻辑电路,仿真结果将会隐藏竞争冒
险和毛刺现象,与实际行为相差较远。故在FPGA设计中,对每一个逻辑门、每一行VHD
L(Verilog)语言,必须完全理解,不要期望仿真器替你找到错误。一个好的设计
工程师要知道怎样通过修改设计来提高电路性能,而不把责任归咎于所使用的软件。

使用FPGA开发数字电路,可以大大缩短设计时间、减少PCB面积、提高系统的可靠性。
它的这些优点使得FPGA技术得到飞速的发展,已经在通信、电子、信号处理、工业控制等
领域被广泛应用。随着FPGA容量的增加,SoPC(对信号的处理和整个系统的控制)的应
用时代即将到来。SoPC既有嵌入处理器、I/O电路和大规模嵌入存储器,也有CP
LD/FPGA,用户可以选择。同时也可以选择PLD公司提供的FPGA IPIntell
ectual Property 内核。使用IP核能保证系统级芯片的开发效率、质量
,并能大大缩短产品开发时间。因此,FPGA已成为解决系统级设计的重要选择方案之一。
本文对FPGA设计中的关键问题进行了研究,提出了设计中影响系统可靠性的主要问题和解
决方案,希望对FPGA设计者有一定的参考作用。
Sunlife 发表于 2015-4-7 10:33:03 | 显示全部楼层
http://v.youku.com/v_show/id_XOTE2NTYxNTQw.html
至芯科技李凡老师FPGA教学视频
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-7 05:05 , Processed in 0.062033 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表