您现在的位置是:首页 > 消费电子 > 技术解析

数字电路设计之需要注意的几个点

时间:2017-11-16 来源:

这是一个在逻辑设计中注意事项列表,由此引起的错误常使得设计不可靠或速度较慢,为了提高设计性能和提高速度的可靠性,必须确定设计通过所有的这些检查。

可靠性

1. 为时钟信号选用全局时钟缓冲器BUFG!

不选用全局时钟缓冲器的时钟将会引入偏差。

2. 只用一个时钟沿来寄存数据

使用时钟的两个沿是不可靠的,因为时钟的某沿或者两个沿会漂移。如果时钟有漂移而且你只使用了时钟的一个沿,你就降低了时钟边沿漂移的风险。这个问题可以这样来解决:就是允许CLKDLL自动纠正时钟的占空比,以达百分之五十的占空比。否则强烈建议只使用一个时钟沿。

3. 除了用CLKDLL或DCM产生的时钟外不要在内部产生时钟

这包括产生门控时钟和分频时钟。作为替代,可以建立时钟使能或使用CLKDLL或DCM来产生不同的时钟信号。对于一个纯同步设计,建议在任何可能的情况下只使用一个时钟。

4. 不要在内部产生异步的控制信号(例如复位信号或者置位信号)

内部产生的异步控制信号会产生毛刺,作为替代,可以产生一个同步的复位/置位信号。要比需要作用的时刻提前一个时钟周期进行这个异步信号的同步。

5. 不要使用没有相位关系的多个时钟

也许并不总能避免这个条件,在这些情况下确定已使用了适当的同步电路来跨越时钟域,并已适当地约束了跨越时钟域的路径。

6. 不要使用内部锁存器

内部锁存器会混淆时序,而且常常会引入另外的时钟信号。内部锁存器在透明门打开时可以被看成是组合逻辑,但在门被锁存时可以被看成是同步元件,这将会混淆时序分析。内部锁存器常常会引入门控时钟,门控时钟会产生毛刺使得设计变得不可靠。

性能

1. 逻辑级的时延不要超过时序预算的百分之五十

每个路径逻辑级时延可以在逻辑级时序报告或布局后时序报告中找到,详细分析了每个路径之后,时序分析器将生成每个路径时延的统计量,检查一下总共的逻辑级时延,确保不超过时序预算的百分之五十。

2. IOB 寄存器

IOB寄存器提供了最快的时钟到输出和输入到时钟的时延。首先,有一些限制。

对于输入寄存器在从管脚到寄存器间不能有组合逻辑存在。对于输出寄存器,在寄存器和管脚之间也不能有组合逻辑存在。对于三态输出,在IOB中的所有的寄存器必须使用同一个时钟信号和复位信号,而且IOB三态寄存器必须低电平有效才能放到IOB中(三态缓冲器低电平有效,所以在寄存器和三态缓冲器之间不需要一个反相器)。

必须使软件能够选用IOB寄存器,可以设置全局实现选项:为输入、输出或输入输出选择IOB寄存器。缺省值为关 off。

你也可在综合工具或在用户约束文件UCF中设定,使得能够使用IOB寄存器。句法为: INST IOB = TRUE;

3. 对于关键的输出选择快速转换速率

可以为LVCMOS和LVTTL电平选择转换速率,快速的转换速率会降低输出时延,但会增加地弹,所以必须在仔细考虑的基础之上选择快速转换速率。

4. 流水逻辑

如果你的设计允许增加延迟,对组合逻辑采用流水操作可以提高性能。在Xilinx的FPGA中有大量的寄存器,对每一个四输入LUT有一个对应的寄存器,在牺牲延迟的情况下,利用这些寄存器可以增加数据吞吐量。

5. 为四输入的LUT结构进行代码优化

记住每一个查找表可以建立一个四输入的组合逻辑函数。如果需要更大的功能,可根据“四输入组合逻辑”这个特性,分析、优化实现该功能所需的查找表的数目。

6. 使用Case语句而不是if-then-else语句

复杂的if-then-else语句通常会生成优先级译码逻辑,这将会增加这些路径上的组合时延(现在大部分综合工具,可以把if-else的优先级逻辑层次打平)。用来产生复杂逻辑的Case语句通常会生成不会有太多时延的并行逻辑。对于Verilog,可以使用约束parallel_case。

7. 多用Xilinx自带Core generate

Core generate针对 Xilinx的结构进行了优化,许多块都可以允许用户配置,包括大小、宽度和流水延迟。查看设计中的关键路径,是否可以在核生成器中产生一个核来提高关键路径性能。避免由代码来推断,又麻烦,又不可靠。

8. FSM的设计限制在一个层次中

为了允许综合工具完全优化FSM,它必须在它自己的块中优化。如果不是这样的话,这将使得综合工具将FSM逻辑和它周围的逻辑一起优化。FSM不能包括任何的算术逻辑、数据通路逻辑或者其它与状态机不相关的组合逻辑。

9. 使用两个进程或always块的有限状态机

下一个状态和输出译码逻辑必须放在独立的进程或always块中,这将不允许综合工具在输出和下一个状态译码逻辑之间共享资源。便于代码维护。

10. 使用一位有效编码(one-hot、gray)FSM

一位有效编码通常会在富含寄存器的FPGA中提供最高性能的状态机。

11. 为每一个叶级(leaf-level)块提供寄存输出

叶级块是可以推论的逻辑块,而结构级(structural-level)的块仅例化较底层的块,这样就建立了层次。如果叶级块是寄存输出,则可使综合工具保留层次。这可使分析这些代码的静态时序变得比较容易。对module与module之间的边界信号(用时钟同步)进行寄存输出,可以使得各个块之间有确定的同步时序关系。

12. 不同的计数器风格

二进制计数器是非常慢的。如果二进制计数器是关键路径,可以考虑使用不同风格的计数器LFSR、Pre-scalar或Johnson。

13. 设计必须被层次化的分成不同的功能块

首先是较顶层的功能块,然后是较底层的块,也应该包括特定技术的块。设计层次化使得设计更可读、更易调试、更易复用。

14. 高扇出网络需要复制寄存器

可以通过XST或者synplify pro等综合工具的综合选项来进行控制。

15. 利用四种全局约束来对设计进行全局的约束

周期(对每个时钟),输入偏移、输出偏移、管脚到管脚的时间。也许会有针对多周期路径、失败路径和关键路径的其它约束,但是必须从这四个全局约束开始。

换一批

延伸阅读

[资讯] 22.9%!薄膜太阳能电池效率又创新纪录

22.9%!薄膜太阳能电池效率又创新纪录

日前,日本太阳能前沿公司(Solar Frontier)表示,已创下薄膜太阳能电池效率的新纪录。与日本新能源产业技术综合开发机构(NEDO)的联合研究中,公司利用CIS(铜、铟和硒)技术实现了22.9%的转换效率。 ......

关键字:薄膜太阳能 太阳能电池

[资讯] 广东揭阳与中广核合作共建中国最大深水海上风电基地

广东揭阳与中广核合作共建中国最大深水海上风电基地

揭阳市政府与中国广核集团(以下简称“中广核”)就开发粤东海域300万千瓦海上风电项目签署了一揽子合作协议,将在共建海上风电工程基地及研发中心等方面展开合作。据悉,双方将合作共建中国规模最大的深水海上风电基地。 ......

关键字:中广核 海上风电基地

[资讯] Apple Watch新功能:EKG/ECG(心电图)测试

Apple Watch新功能:EKG/ECG(心电图)测试

对于苹果来说,他们显然想要Apple Watch成为你的私人医生助理,让你实时监控自己的各项生命参数,而这也是他们要比其他智能硬件厂商强大的地方。 ......

关键字:苹果 Apple Watch

[资讯] OLED需求明年翻番,苹果对三星下单量将来到1.8-2亿片

OLED需求明年翻番,苹果对三星下单量将来到1.8-2亿片

韩国科技媒体ETnews报导,苹果明年对三星OLED面板下单量将来到1.8-2亿片,以单价110美元估计,面板供应商三星Display有望进帐220亿美元。 ......

关键字:OLED 苹果 三星

[资讯] 苹果遭集体诉讼!因限制旧款iPhone性能

苹果遭集体诉讼!因限制旧款iPhone性能

原告名为斯蒂凡·博德甘诺维奇(Stefan Bodganovich)。和许多其他人一样,他是一名iPhone用户,但使用的不是最新iPhone 8。他并不认同苹果的做法,认为此举损害了iPhone的价值,并尤其关心它对iPhone 7用户的......

关键字:苹果 iPhone 电池老化

[新鲜事] Intel出货最后一代安腾处理器

Intel出货最后一代安腾处理器

有多少人还记得Intel的安腾处理器(Itanium)?......

关键字:Intel 安腾处理器

[新鲜事] 特朗普发推特感谢三星,三星并不买账

特朗普发推特感谢三星,三星并不买账

此前有报道称三星将因“特朗普效应”而在美国建立一家分公司,对此,特朗普在周二时发布了一条推特,称“我们很欢迎你(三星)加入”。但是,三星对此并不感到高兴,因为三星从来没有对外宣称过有在美国建立公司的计划,并认为特朗普发布这条推特是在对三星施......

关键字:特朗普 三星

[新鲜事] 三星掌门人李在镕被批捕,三星回应:确保在未来的庭审中还原真相

三星掌门人李在镕被批捕,三星回应:确保在未来的庭审中还原真相

据韩国媒体报道,由于卷入了韩国总统朴槿惠及其亲信的腐败丑闻,并遭到韩国检方的行贿指控,三星集团实际掌门人李在镕(LeeJae-yong)在周五正式被批捕。......

关键字:三星 李在镕

相关文章

    无相关信息
发表评论 共有条评论
用户名: 验证码: