- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在逻辑方面,我觉得比较重要的规范有这些: ? ?1.设计必须文档化。要将设计思路,详细实现等写入文档,然后经过严格评审通过后才能进行下一步的工作。这样做乍看起来很花时间,但是从整个项目过程来看,绝对要比一上来就写代码要节约时间,且这种做法可以使项目处于可控、可实现的状态。? ?2.代码规范。? ?a.设计要参数化。比如一开始的设计时钟周期是30ns,复位周期是5个时钟周期,我们可以这么写:? ?? ?? ?parameter??CLK_PERIOD = 30;? ?? ?? ?parameter??RST_MUL_TIME = 5;? ?? ?? ?parameter??RST_TIME = RST_MUL_TIME * CLK_PERIOD;? ?? ?? ?...? ?? ?? ?rst_n = 1b0;? ?? ?? ?# RST_TIME rst_n = 1b1;? ?? ?? ?...? ?? ?? ?# CLK_PERIOD/2 clk = ~clk;? ? 如果在另一个设计中的时钟是40ns,复位周期不变,我们只需对CLK_PERIOD进行重新例化就行了,从而使得代码更加易于重用。? ?b.信号命名要规范化。? ?1) 信号名一律小写,参数用大写。? ?2) 对于低电平有效的信号结尾要用_n标记,如rst_n。? ?3) 端口信号排列要统一,一个信号只占一行,最好按输入输出及从哪个模块来到哪个模块去的关系排列,这样在后期仿真验证找错时后??方便很多。如:? ?? ?module a(? ?? ?? ?? ?? ?//input? ?? ?? ?? ?? ?clk,? ?? ?? ?? ?? ?rst_n,? ?//globle signal? ?? ?? ?? ?? ?wren,? ?? ?? ?? ?? ?rden,? ?? ?? ?? ?? ?avalon_din,??//related to avalon bus? ?? ?? ?? ?? ?sdi,? ?? ?? ?//related to serial port input? ?? ?? ?? ?? ?//output? ?? ?? ?? ?? ?data_ready,? ?? ?? ?? ?? ?avalon_dout, //related to avalon bus? ?? ?? ?? ?? ?...? ?? ?? ?? ???);? ?? ?4) 一个模块尽量只用一个时钟,这里的一个模块是指一个module或者是一个entity。在多时钟域的设计中涉及到跨时钟域的设计中最好有专门一个模块做时钟域的隔离。这样做可以让综合器综合出更优的结果。? ?? ?5) 尽量在底层模块上做逻辑,在高层尽量做例化,顶层模块只能做例化,禁止出现任何胶连逻辑(glue logic),哪怕仅仅是对某个信号取反。理由同上。
说明:gule logic的中文含意是“胶连逻辑”,它是连接复杂逻辑电路的简单逻辑电路的统称。例如,一个ASIC芯片可能包含许多诸如微处理器、存储器功能块或者通信功能块之类的功能单元,这些功能单元之间通过较少的粘合逻辑连接起来。在印制板(PCB)层,粘合逻辑可以使用具有较少逻辑门的“粘合芯片”实现,例如PAL、GAL、CPLD等。? ?? ?6) 在FPGA的设计上禁止用纯组合逻辑产生latch,带D触发器的latch的是允许的,比如配置寄存器就是这种类型。? ?? ?7) 一般来说,进入FPGA的信号必须先同步,以提高系统工作频率(板级)。所有模块的输出都要寄存器化,以提高工作频率,这对设计做到时序收敛也是极有好处的。? ?? ?9) 除非是低功耗设计,不然不要用门控时钟--这会增加设计的不稳定性,在要用到门控时钟的地方,也要将门控信号用时钟的下降沿打一拍再输出与时钟相与。? ?? ?? ?? ?? ?clk_gate_en? ?? ?--------? ?? ?? ?? ?? ?? ???----? ?? ?? ?? ???-----------------|D? ???Q |------------------|? ???\ gate_clk_out? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? |? ?? ???|? ?? ?? ?---------|? ?? ?)---------? ?? ?? ?? ?? ?? ?? ?? ?------o|? ?? ? |? ?? ?? ?|? ?? ???|? ???/? ?? ?? ?? ?? ? clk? ? |? ?? ? --------? ?? ?? ???|? ?? ?? ?----? ??
您可能关注的文档
- 虚函数与多态性.ppt
- VC1010电子邮件客户应用程序的设计与实现2.doc
- 虾蟹养殖学(第3章).ppt
- VC3004MD5算法的研究与实现-数据存储加密2.doc
- 融资租赁业务(培训用).ppt
- gann原着自然阻力水平和时间周期点.doc
- 融资租赁简史.ppt
- VC60动态生成Word表格实例.doc
- vc60++图文详细使用教程.doc
- GB23445-2009《聚合物水泥防水涂料》解析.doc
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)