- 1、本文档共81页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 可综合的编码规范 5.2针对综合的编码准则 6. 避免伪路径(False path) 伪路径是那些静态时序分析(STA)认为是时序失败,而设计者认为是正确的路径。通常会人为忽略这些warning,但如果数量较多时,就可能将其他真正的问题错过了。 5.2 针对综合的编码准则 7. 避免使用LATCH,在设计中避免组合反馈电路 在设计中避免产生任何LATCH。不完整的if和case语句导致不必要的latch的产生。 if语句中缺乏else子句、case语句中各个条件所处理的变量不同都会在综合时推断出LATCH。 不希望使用Latch时,应该对所有输入情况都对输出赋值,或者将条件赋值语句写全,如在if语句最后加一个else,case语句加defaults。当你必须使用Latch时,为了提高可测性,需要加入测试逻辑。 为检查设计中是否有LATCH,编译设计并用命令all_registers -level_ sensitive,可以检查出如LACH这样电平敏感的单元。 5.2针对综合的编码准则 8. always 语句使用注意 (1)避免同一个信号在两个或两个以上的always块语句中赋值。除了三态输出信号,其它信号是不允许在不同的块语句中分别赋值。 (2)定义完整的敏感表。在每一个always(Verilog中)块中包含完整的敏感表。同时 确保敏感表中没有包含不必要的信号。 (3)阻塞赋值和非阻塞赋值 在写可综合的代码时,建议在always @(posedge clk)语句块中总是使用非阻塞赋值。否则RTL级的仿真会和门级仿真的结果不一致。 5.2 针对综合的编码准则 9.case语句和if-else语句 如果不需要有优先级的编码结构,建议使用case语句而不要使用if-then-else语句。对于基于cycle的仿真器,case语句的仿真速度要比if 语句的仿真速度快。对于大的多选器,case语句也比条件赋值语句的仿真速度快。 5.2 针对综合的编码准则 10.三态电路设计 三态电路一般用于: (1)双向口; (2)多路数据竞争总线或者多路选择电路。 注意:在ASIC设计里,除了芯片的双向口或输出口可用三态外,芯片内部其它部分不允许出现三态,这是因为ASIC设计里,考虑到DFT(Design For Test)等因素,一般ASIC厂家在芯片内部不提供三态电路。因此,在ASIC设计中,三态电路一般用组合逻辑替代。 双向信号如何使用? 5.2 针对综合的编码准则 11. 状态机的编码 (1)将状态机的描述分成三个always,分别进行计算下一个状态的产生和生成当前输出,以及实现状态的跳转。 (2)在Verilog中,使用parameter来定义状态向量。 (3)将状态机的逻辑和非状态机的逻辑分成不同的模块。 (4)必须包括对所有状态都处理,不能出现无法处理的状态,使状态机失控。为此可对状态机指定一个默认的状态,在Verilog中,使用default条件。 (5)状态机的case表达式中不能含有变量表达式,状态转换中也不允许有变量表达式表示的状态。 5.3 关键路径上的电路编码技巧 1. 正确处理关键路径的优先级 在FPGA中,关键路径(critical path)上的每一级逻辑都会增加延时。为了保证能满足定时约束,就必须在对设计的行为进行描述时考虑逻辑的级数。减少关键路径延时的常用方法是给最迟到达的信号最高的优先级,这样能减少关键路径的逻辑级数。例如,一个四级的Mux,其中第二级信号为关键信号 如何改善timing。我们就需要给第二级信号最高优先级。 5.3 关键路径上的电路编码技巧 2. 正确处理好if_else与case语的嵌套使用。 if语句指定了一个优先级编码逻辑,而case语句生成的逻辑是并行的,不具有优先级。if语句可以包含一套不同的表达式,而case语句比较的是一个公共的控制表达式。通常,case结构速度较快,但占用面积较大,所以用case语句实现对速度要求较高的编解码电路。if-else结构速度较慢,但占用的面积小。如果对速度没有特殊要求,而对面积有较高要求,则可用if-else语句完成编解码。不正确的使用嵌套的if语句会导致设计需要更大的延时。为了避免较大的路径延时,不要使用特别长的嵌套if结构。用if语句实现对延时要求苛刻的路径(speed-critical paths)时,应将最高优先级给最迟到达的关键信号(Critical?Signal)。有时,为了兼顾面积和速度,可以将if和case语句合用。 5.3 关键路径上的电路编码技巧 3. 使用圆括号处理多个加法器 控制设计结构的另一种方法是使用圆括号来定义逻辑分组。下面的例子描述了一个4输入的加法器分
您可能关注的文档
- 初中物理第五节科学探究摩擦力详解.ppt
- 1.3有理数大小比较分析.ppt
- 产品定位分析.ppt
- 1.4 角平分线(第2课时)分析.ppt
- 初中物理第八章章运动和力第三节摩擦力详解.ppt
- 1.5 电势差分析.ppt
- 初中生安全教育[]详解.ppt
- 1-1消防枪炮的技战术性能(上)分析.ppt
- 初中生安全教育主题班会七六详解.ppt
- 2.1 2.2数字量输入输出通道分析.ppt
- 2025年市总工会党组书记、市委组织部部长生活会“四个带头”个人对照检查发言材料2篇(含上年度整改+个人情况、个人事项+典型案例).docx
- 2025年部编版小学六年级下册《道德与法治》第四单元 让世界更美好第10课 我们爱和平教学课件.pptx
- 公司领导班子2025年围绕“四个带头”主题检视问题整改落实方案与组织生活会批评意见(20条)2篇文.docx
- 教育系统党组班子2025年对照“四个带头”含意识形态、以典型案例举一反三解析检视材料【2篇文】.docx
- 2025年国有企业领导班子、学校副校长生活会“四个带头”方面对照个人检视发言材料2篇文(附:上年度整改情况、典型案例解析).docx
- 2025年生活会“四个带头”个人对照检查材料2篇文(含对其他领导批评意见,个人公开事项申报、意识形态).docx
- 2025年国有企业党委书记、领导班子生活会“四个带头”方面对照检查发言材料2篇文(上年度整改情况).docx
- 乡镇领导班子、市委组织部常务副部长2025年对照“四个带头”含违纪行为为典型案例的剖析与反思检视剖析材料{2篇文}.docx
- 市委社会工作部2025年生活会领导班子对照检视发言材料2篇文(含以案为鉴,深刻反思存在问题、反面典型案例举一反三解析、其他需要说明情况).docx
- 2025年民主生活会、组织生活会批评意见(20条)与市直单位领导班子“四个带头”对照检查材料【含上年度查摆问题整改落实情况】2篇文.docx
文档评论(0)