VerilogHDL基本语法分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VerilogHDL基本语法分析

见《数字系统设计与Verilog HDL 》 P173[表6.5] 参见《从算法设计到硬线逻辑的实现——复杂数字逻辑系统的Verilog HDL设计技术和方法》P65 见《数字系统设计与Verilog HDL 》 P174[例6.16] adder16.v位于adder16文件夹中,包含了adder.v文件。 通常用在测试文件中 见《数字系统设计与Verilog HDL 》 P175例6.17。 见《数字系统设计与Verilog HDL 》P176 [例6.18]、 [例6.19] 二者的区别是在always模块内,两条赋值语句的顺序相反。 serial1.v和serial2.v位于serial文件夹中 见《数字系统设计与Verilog HDL》P177[例6.20]、[例6.21]。 parall1.v和parall2.v位于parall文件夹中 (1) 一般用算法级(写出逻辑表达式)或RTL级来描述逻辑功能,尽量避免用门级描述,除非对系统速度要求比较高的场合才采用门级描述。 (4)always块语句可综合标准模板参见本课件 “3.9 结构说明语句”中always块语句的可综合性问题 参见《从算法设计到硬线逻辑的实现——复杂数字逻辑系统的Verilog HDL设计技术和方法》P38例4 case语句与if-else语句有什么区别呢? 见《数字系统设计与Verilog HDL 》 P163例6.8 参见《从算法设计到硬线逻辑的实现——复杂数字逻辑系统的Verilog HDL设计技术和方法》P44 本来是想实现一个二选一的数据选择器,但如果不列出所有条件分支,则生成了不想要的锁存器。 参见《从算法设计到硬线逻辑的实现——复杂数字逻辑系统的Verilog HDL设计技术和方法》P45 本来是想实现一个三选一的数据选择器,但如果不列出所有条件分支,则生成了不想要的锁存器。 当然如果希望sel[1:0]不取00或11时,q保持原来的值,则不必给出default语句。 MAX + PLUS II和Quartus II都支持for语句! 见《数字系统设计与Verilog HDL》P166[例6.12] mult_repeat.v位于mult_ repeat文件夹中。 参见《从算法设计到硬线逻辑的实现——复杂数字逻辑系统的Verilog HDL设计技术和方法》P46~47 count1s_while.v位于count1s_while文件夹中。 forever循环应包括定时控制或能够使其自身停止循环,否则循环将无限进行下去! 尽管Quartus II支持该语句,但一般情况下是不可综合的!如果forever循环被@(posedge clock)形式的时间控制打断,则是可综合的。 forever在测试模块中描述时钟很有用! assign语句在always块之外;循环语句forever语句是在initial块中! (2)备注:若时钟周期很长而清零信号又是一个窄脉冲信号,如果采用同步清零,则很有可能当清零信号有效时,时钟信号并未到来,那么将不能进行清零。 见《数字系统设计与Verilog HDL》P170 参见《从算法设计到硬线逻辑的实现——实验练习与Verilog语法手册》P14~15 见《数字系统设计与Verilog HDL》P172[例6.14] count0s_function.v位于function文件夹 采用Quartus II进行仿真! Verilog结构级描述 基本逻辑门级元件(Primitive cell) * Verilog结构级描述 模块调用 模块调用 基本门调用 Top level block Sub-block1 Sub-block2 Leaf cell Leaf cell Leaf cell Leaf cell * Verilog结构级描述 模块调用方式 位置对应 端口名对应 * Verilog结构级描述 Ex: module DEF(q, qb, din, clk); output q, qb; input din, clk; .... endmodule module port_map; DEF U0(q1, qb1, din_1, clock);//位置对应 DEF U1(.din(D[0]), .clk(clock),.q(O[0]),.qb(_O[0])); //端口名对应 DEF U2(Q, , DIN, clock);//允许出现不连接的端口 DEF U3(.din(A), .clk(B), .qb(c), ); endmodule * 行为级描述和结构级描述

文档评论(0)

33qwer + 关注
内容提供者

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

1亿VIP精品文档

相关文档