FPGA设计原则以及代码规范分析报告.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例:位置映射法 Block block_1( signal_a,      signal_b); 例:信号名映射法 block block_1( .signal_a(signal_a),      .signal_b(signal_b) ); 在Verilog中,有两种模块调用的方法, 一种是位置映射: 模块名 (连接端口1信号名, 连接端口2信号名, 连接端 口3信号名,…); 另一种为信号名映射法: 模块名 (.端口1信号名(连接端口1信号名), .端口2信号名(连接端口2信号名), .端口3信号名(连接端口3信号名),…); 模块调用规范   在书写Verilog可综合代码时,在always@(posedge clk)模块中,总是使用非阻塞赋值方式,否则会产生RTL级仿真和门级仿真功能不一样的现象。同一个always中不能混用阻塞,非阻塞赋值 。 阻塞和非阻塞赋值(Verilog) Error : 状态机要写成3段式的(这是最标准的写法),即 ???????????? always @(posedge clk or negedge rst_n)(第一段) ???????????? ... ???????????????? current_state = next_state; ???????????? ... ???????????? always @ (current_state ...)(第二段) ??????????? ... ???????????? case(current_state) ???? ???????????... ?????????????????? s1: ????????????????????? if ... ??????????????????????? next_state = s2; ??????????????    ... ???????????? always @(posedge clk or negedge rst_n)(第三段) ??????????? ... ???????????????? else ???????????????????? case(current_state) ???????????????????????? s1: ???????????????????????????? a = 1b0;???????????????????????????? ? s2: ???????????????????????????? b = 1b1; ???????????????????????? default: ???????????????????????? ... 状态机的写法 小结   以上列出的代码编写规范无法覆盖代码编写的方方面面,还有很多细节问题,需要在实际编写过程中加以考虑。并且有些规定也不是绝对的,需要灵活处理,并不是律条。但是在一个项目组内部、一个项目的进程中,应该有一套完成、统一的代码编写规范来作为约束,才能做到整洁、可读性好的代码,提高项目研发进度。 THE END 谢谢大家! FPGA设计原则以及代码规范 FPGA设计原则 面积和速度的平衡与互换 硬件原则 系统原则 同步设计原则 “面积”指一个设计消耗FPGA的逻辑资源的数量,一般可以用所消耗的触发器(FF)和查找表(LUT)来衡量,更一般的衡量方式可以用设计所占用的等价逻辑门数。 “速度”指设计在芯片上稳定运行,所能够达到的最高频率,这个频率由设计的时序状况决定,它和设计满足的时钟周期,PAD to PAD Time,Clock Setup Time,Clock Hold Time ,Clock to output delay等众多时序特征量密切相关。 面积与速度 进一步了解FPGA内部的“面积”资源! 面积与速度的平衡与互换原则 速度换面积: 面积换速度: FPGA设计和软件设计存在本质区别,要做到对所需实现的硬件电路“心有成竹”,对该部分硬件的结构与连接十分清晰,然后再用适当的HDL语句表达出来。 要明确FPGA的逻辑设计所采用的硬件描述语言(HDL)和软件语言(如C,C++等)的区别,HDL的本质作用在于描述硬件!它的最终实现结果是芯片内部的实际电路。 硬件原则 硬件原则的另外一个重要理解是“并行”和“串行”的概念。 一般来说硬件系统比软件系统速度快,实时性高,

文档评论(0)

阿里山的姑娘 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档