- 1、本文档共120页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 VHDL规范化标准和常见Warning分析
第5章 VHDL规范化标准及常见Warning分析; 硬件描述语言是用来描述数字系统行为和结构的语言。
使用硬件描述语言作为FPGA设计输入方式适合大规模数字电路设计,可以用综合工具提高设计效率,适合采用自顶向下的设计方式,便于设计的移植和复用。
; 硬件描述语言发展至今已出现许多具体规则需要设计人员遵循,只有遵循各种规范及可靠性设计,才能适应各种应用需求。
; 本章从编码设计、可综合代码描述规则、设计优化等三个方面提出FPGA硬件描述语言编程指南供设计者参考。
可靠性设计要求主要有以下4条,结合在可综合代码描述规则中提出:
;(1)采用同步设计;
(2)保证复位的有效性;
(3)保证时钟信号的稳定和去除时钟偏移的影响;
(4)对异步接口信号进行处理。
; 采用硬件描述语言设计FPGA,必须了解EDA工具(综合工具、仿真工具、实现工具)的使用要求和FPGA的内部结构,才能写出高效规范的代码。
本章不仅涉及HDL代码的编写,还涉及与之密切相关的部分FPGA硬件实现细节和EDA工具的要求。;5.1 编码设计; 不同模块中的同一信号,使用同一信号加不同后缀连接,如*_i、*_o、*_c分别表示某模块输入端口、某模块输出端口和模块之间的连接信号命名,连接信号关系复杂时可将相关模块输出定义为一个自定义类型作为连接信号的类型,连接信号命名为*(模块名)_c。
;(2)文件顶端加入注释,包括版权、项目名、模块名、文件名、作者、功能和特点、版本号、日期、详细的更改记录等。
(3)端口声明时,同一类信号或相关信号放
在一起。
;(4)对代码进行详细注释,被注释过的代码和附带的文档将提供可信的设计基础。
(5)代码要有层次结构,推荐采用制表符键(Tab)增加缩进量。
;(6)组合逻辑部分和时序逻辑部分应分开描述。
(7)命名由字母、_、数字组成,第一个符号位为字母,不能超过20字符。;(8)除常量、用户定义类型用大写字母外,其
他命名如信号、变量、端口等一般用小写字母。
(9)命名要有物理意义,如ram_addr、clock,低电平有效信号以n_开头。
;(10)命名不能和VHDL、Verilog、FPGA内部资源等关键字同名。
(11)仅使用IEEE标准类型std_logic及std_logic_vector(VHDL)。;(12)使用常量代替数字,设计内部使能等信号的有效电平也可定义成常量。
(13)仅使用由高到低的总线方向。
;(14)不在端口使用buffer类型使信号既可在内部使用又可为端口输出信号(VHDL)。
(15)禁止使用配置(VHDL)。
(16)考虑IP复用时,功能和接口应分开实现,使用固定的片上总线标准。
;5.2 可综合代码描述规则; 可综合代码可以被转换成由FPGA内的基本库、连线资源等构成的硬件网表,所以必须要对硬件设计本身有很好的了解,而不是简单的软件编程;可综合代码可以被综合工具正确转换,所以必须了解HDL语言描述与硬件实现的关系。; 同步设计的结构如图5-1所示,同步设计主要涉及以下几个方面:
;(1)复位的使用;
(2)时钟的使用;
(3)接口异步信号处理;
(4)寄存器和锁存器的选用;
(5)有限状态机设计;
(6)输入输出信号的寄存器同步。
;图5-1 同步设计;5.2.1 复位; FPGA器件初始加电时需要经过一个上电过程,上电复位才能够起作用,因为FPGA器件上电时间受上电速度影响较大,所以上电复位时间必须有设计余量。
表5-1所示为部分FPGA器件的上电时间,图5-2给出了上电复位时序图。
;;图5-2 上电复位时序图;5.2.1.2 FPGA上电及配置时的IO特性?; Xilinx的FPGA由于器件本身的特性,内部的GSR信号在配置结束时自动把所有的寄存器和锁存器按设计要求复位或是置位(Xilinx推荐保留外部输入的复位信号的复位作用,在FPGA配置结束后输入的复位信号依然有效),并且在配置时,GTS信号控制所有的IO都表现为三态。
; 图?5-3?给出了Xilinx器件内部的GTS和GSR结构,因为复位的作用在FPGA上电和
配置期间并不能得到体现,即FPGA的IO表
现为三态或输出而不是设计状态,如果对外
有影响就需要根据具体情况处理,去除影响。
;图5-3 Xilinx器件内部GTS和GSR结构图;5.2.1.3 FPGA输入复位信号及内部存储器宏单元上的异
您可能关注的文档
- 离心泵拆装和检修--完成.doc
- 第03章--化学反应系统热力学--习题和答案.doc
- SMT安全操作常识篇.doc
- 第09章 不完全竞争和其极端形式——垄断.ppt
- 第10章 齿轮机构和其设计.doc
- 第04讲 操作系统和其应用2.ppt
- 第10章 DLL开发和调用.ppt
- 第10章 C、C++和汇编语言混合编程方法.ppt
- 第08章 模拟量输入和输出.ppt
- 第10章 风险和收益:市场历史启示.ppt
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)