EDA技术与Verilog设计第7章.ppt
《EDA技术与Verilog设计第7章.ppt》由会员分享,可在线阅读,更多相关《EDA技术与Verilog设计第7章.ppt(31页珍藏版)》请在装配图网上搜索。
第7章Verilog设计的层次与风格 主要内容 结构 Structural 描述 行为 Behavioural 描述 数据流 DataFlow 描述 基本组合电路设计 基本时序电路设计 7 1Verilog设计的层次 结构 Structural 描述行为 Behavioural 描述数据流 DataFlow 描述 在Verilog程序中可通过如下方式描述电路的结构 调用Verilog内置门元件 门级结构描述 调用开关级元件 晶体管级结构描述 用户自定义元件UDP 也在门级 7 2结构 Structural 描述 Verilog的内置门元件 门元件的调用 调用门元件的格式为 门元件名字 其中普通门的端口列表按下面的顺序列出 输出 输入1 输入2 输入3 比如 anda1 out in1 in2 in3 三输入与门对于三态门 则按如下顺序列出输入输出端口 输出 输入 使能控制端 比如 bufif1mytri1 out in enable 高电平使能的三态门 门级结构描述的2选1MUXmoduleMUX1 out a b sel outputout inputa b sel not sel sel and a1 a sel a2 b sel or out a1 a2 endmodule 7 3行为描述 就是对设计实体的数学模型的描述 其抽象程度远高于结构描述方式 行为描述类似于高级编程语言 当描述一个设计实体的行为时 无需知道具体电路的结构 只需要描述清楚输入与输出信号的行为 而不需要花费更多的精力关注设计功能的门级实现 行为描述的2选1MUX modulemux2 out a b sel outputout inputa b sel regout always aorborsel beginif sel out b elseout a endendmodule 7 4数据流描述 数据流描述方式主要使用持续赋值语句 多用于描述组合逻辑电路 其格式为 assignLHS net RHS expression 右边表达式中的操作数无论何时发生变化 都会引起表达式值的重新计算 并将重新计算后的值赋予左边表达式的net型变量 数据流描述的2选1MUX moduleMUX3 out a b sel outputout inputa b sel assignout sel b a endmodule 7 5不同描述风格的设计 对设计者而言 采用的描述级别越高 设计越容易 对综合器而言 行为级的描述为综合器的优化提供了更大的空间 较之门级结构描述更能发挥综合器的性能 所以在电路设计中 除非一些关键路径的设计采用门级结构描述外 一般更多地采用行为建模方式 结构描述的一位全加器 modulefull add1 a b cin sum cout inputa b cin outputsum cout wires1 m1 m2 m3 and m1 a b m2 b cin m3 a cin xor s1 a b sum s1 cin or cout m1 m2 m3 endmodule 数据流描述的1位全加器 modulefull add2 a b cin sum cout inputa b cin outputsum cout assignsum a b cin assigncout aendmodule 行为描述的1位全加器 modulefull add4 a b cin sum cout inputa b cin outputsum cout regsum cout m1 m2 m3 always aorborcin beginm1 aendendmodule 4位加法器 4 bitadder include full add1 v moduleadd4 1 sum cout a b cin output 3 0 sum outputcout input 3 0 a b inputcin full add1f0 a 0 b 0 cin sum 0 cin1 full add1f1 a 1 b 1 cin1 sum 1 cin2 full add1f2 a 2 b 2 cin2 sum 2 cin3 full add1f3 a 3 b 3 cin3 sum 3 cout endmodule 结构描述的4位级连全加器 moduleadd4 2 cout sum a b cin output 3 0 sum outputcout input 3 0 a b inputcin assign cout sum a b cin endmodule 数据流描述的4位加法器 行为描述的4位加法器 moduleadd4 3 cout sum a b cin output 3 0 sum outputcout input 3 0 a b inputcin reg 3 0 sum regcout always aorborcin begin cout sum a b cin endendmodule 7 6基本组合电路设计 门级结构描述modulegate1 F A B C D inputA B C D outputF nand F1 A B 调用门元件and F2 B C D or F F1 F2 endmodule 数据流描述modulegate2 F A B C D inputA B C D outputF assignF A assign持续赋值endmodule 行为描述modulegate3 F A B C D inputA B C D outputF regF always AorBorCorD 过程赋值beginF Aendendmodule 基本组合电路设计 用bufif1关键字描述的三态门moduletri 1 in en out inputin en outputout triout bufif1b1 out in en endmodule 基本组合电路设计 3 to 8decoder moduledecoder 38 out in output 7 0 out input 2 0 in reg 7 0 out always in begincase in 3 d0 out 8 b11111110 3 d1 out 8 b11111101 3 d2 out 8 b11111011 3 d3 out 8 b11110111 3 d4 out 8 b11101111 3 d5 out 8 b11011111 3 d6 out 8 b10111111 3 d7 out 8 b01111111 endcaseendendmodule 基本组合电路设计 奇偶校验位产生器Moduleparity even bit odd bit input bus outputeven bit odd bit input 7 0 input bus assignodd bit input bus 产生奇校验位assigneven bit odd bit 产生偶校验位endmodule 基本组合电路设计 用if else语句描述的4选1MUXmodulemux4 1 out in0 in1 in2 in3 sel outputout inputin0 in1 in2 in3 input 1 0 sel regout always in0orin1orin2orin3orsel beginif sel 2 b00 out in0 elseif sel 2 b01 out in1 elseif sel 2 b10 out in2 elseout in3 endendmodule 7 7基本时序电路设计 D FFdesigns 基本D触发器 moduleDFF Q D CLK outputQ inputD CLK regQ always posedgeCLK beginQ D endendmodule 基本时序电路设计 带异步清0 异步置1的D触发器moduleDFF1 q qn d clk set reset inputd clk set reset outputq qn regq qn always posedgeclkornegedgesetornegedgereset beginif reset beginq 0 qn 1 异步清0 低电平有效endelseif set beginq 1 qn 0 异步置1 低电平有效endelsebeginq d qn d endendendmodule 基本时序电路设计 带同步清0 同步置1的D触发器moduleDFF2 q qn d clk set reset inputd clk set reset outputq qn regq qn always posedgeclk beginif reset beginq 0 qn 1 end 同步清0 高电平有效elseif set beginq 1 qn 0 end 同步置1 高电平有效elsebeginq d qn d endendendmodule 基本时序电路设计 8位数据锁存器modulelatch 8 qout data clk output 7 0 qout input 7 0 data inputclk reg 7 0 qout always clkordata beginif clk qout data endendmodule 基本时序电路设计 8位数据寄存器modulereg8 out data in data clk clr output 7 0 out data input 7 0 in data inputclk clr reg 7 0 out data always posedgeclkorposedgeclr beginif clr out data 0 elseout data in data endendmodule 基本时序电路设计 可变模加法 减法计数器moduleupdown count d clk clear load up down qd input 7 0 d inputclk clear load up down output 7 0 qd reg 7 0 cnt assignqd cnt always posedgeclk beginif clear cnt 8 h00 同步清0 低电平有效elseif load cnt d 同步预置elseif up down cnt cnt 1 加法计数elsecnt cnt 1 减法计数endendmodule 习题 7 1Verilog语言支持哪几种描述方式 各有什么特点 7 2分别用结构描述和行为描述方式设计一个基本的D触发器 并进行综合 7 3分别用结构描述和行为描述方式设计一个JK触发器 并进行综合 7 4试编写同步模5计数器程序 有进位输出和异步复位端 7 5编写4位串 并转换程序 7 6编写4位并 串转换程序 7 7编写4位除法电路程序- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 技术 Verilog 设计
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文