版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Verilog HDL 复杂数字系统复杂数字系统设计设计 武武 斌斌 系统功能和技术指标系统功能和技术指标 各功能块的算法验证和仿真各功能块的算法验证和仿真 算法验证、功能仿真算法验证、功能仿真 系统系统构成构成框图、框图、确定确定功能块和参数功能块和参数 各功能块的设计仿真各功能块的设计仿真 模块逻辑设计、程序设计模块逻辑设计、程序设计 系统验证和仿真系统验证和仿真 数字设计的层次数字设计的层次 1、控制行为功能实现 2、信号处理和传输的实现 3、算法的实现 交通灯控制、表决器、显示扫描器、电梯控制、数字钟表、普通频率计、交通灯控制、表决器、显示扫描器、电梯控制、数字钟表、普通频率计、 等纯
2、逻辑行为实现等纯逻辑行为实现 如:信号发生器、如:信号发生器、PWM、FSK/PSK、A/D采样控制器、数字频率合成、数采样控制器、数字频率合成、数 字字PLL、FIFO、RS232或或PS/2通信、逻辑分析仪、存储示波器、虚拟仪表、通信、逻辑分析仪、存储示波器、虚拟仪表、 图像采样处理和显示图像采样处理和显示、 如:离散如:离散FFT变换、数字滤波器、浮点乘法器、高速宽位加法器、编变换、数字滤波器、浮点乘法器、高速宽位加法器、编 码译码和压缩、编码码译码和压缩、编码/解码、加密解码、加密/解密电路解密电路 4、复杂数字系统 嵌入式微处理机系统、数字信号处理系统、通信协议电路、制嵌入式微处理机
3、系统、数字信号处理系统、通信协议电路、制 解调器、以太网交换机解调器、以太网交换机、 VerilogHDL的抽象级别的抽象级别 系统级系统级(system) 算法集算法集(algorithmic) 寄存器传输级寄存器传输级(Register-Transfer-Lever) 门级(结构级)门级(结构级) (gate-lever) 开关级开关级(switch-lever) 寄存器传输级寄存器传输级(RTL)模块模块: 它是符合特定标准和风格的描述状态转移和变它是符合特定标准和风格的描述状态转移和变 化的化的 Verilog HDLVerilog HDL模块。可综合。模块。可综合。 通常说的行为级描
4、述指寄存器以上级别,通常说的行为级描述指寄存器以上级别,不一不一 定能够综合。定能够综合。举例:举例: #10 out=a; 描述级别与综合描述级别与综合 UDP-用户定义的源语元件用户定义的源语元件 在在 Verilog 结构建模时,结构建模时, 可以使用:可以使用: 二十多个门级源语元件二十多个门级源语元件 (primitives)。)。 用户定义的源语元件用户定义的源语元件 UDP 不支持综合,即不支持综合,即 不能通过综合把它转变不能通过综合把它转变 为门级结构逻辑为门级结构逻辑。 primitive multiplexer (o, a, b, s); output o; input
5、s, a, b; table / a b s : o 0 ? 1 : 0; 1 ? 1 : 1; ? 0 0 : 0; ? 1 0 : 1; 0 0 x : 0; 1 1 x : 1; endtable endprimitive out a b sel selb sela nsl a b sel out 实例调用实例调用 实例模块名实例模块名 调用名调用名 (. (.实例端口实例端口( (外接端口外接端口),.(),();),.(),(); /名称对应名称对应 多模块连接多模块连接 库元件调用库元件调用 库元件名库元件名 调用名调用名 ( (外接输出端口,外接输入端口外接输出端口,外接输入端口
6、1 1,2 2,3.);3.);/位置对应位置对应 带参数实例调用带参数实例调用: 实例模块名实例模块名 调用名调用名 # #(m,n)m,n) (. (.实例端口实例端口( (外接端口外接端口),();),(); /参数传递参数传递 include “ adder.v” module myadd(in1,in2,out,); input n:1in1, in2; output n:0 out; . adder adder1 / 实例名,调用名实例名,调用名 (.a(in1), .b(in2), .c(out); / 端口连接端口连接 endmodule module adder(a,b,c)
7、; inputn:1 a,b; outputn:0 c assign c=a+b; endmodule out in2 in1 a b c 多模块互联形成顶层模块多模块互联形成顶层模块 out In2 b in1 a module top(in1,in2,out); input n:1in1,in2; Wiren:1 link1,link2; aaa a1(.a(in1),.b(in2), .c(link1),.d(link2); bbb b1(.x(link1),.y(link2), .z(out); endmodule module aaa(a,b,c,d); inputn:1 a,b;
8、outputn:1 c,d; / (c=a+b,d=a-b) module bbb(x,y,z); inputn:1 x,y; output2n:1z; / (z=x*y) c link1 x d link2 y z 设计示例-实例调用 设计示例一设计示例一 设计示例二 clr d q clk clr d q clk clr d q clk q0 d0 clr dq clk d3d2 q2q3q1 d1 clrb clk f4f3f2f1 四位寄存器电路结构图 设计示例二设计示例二 系统总线系统总线_双向数据端口建模双向数据端口建模 1位双向端口:位双向端口: 用用inout声明双向端口:声明
9、双向端口: inout a, b; input en_a_b,; assign b =en_a_b? a:bz; assign a=!en_a_b? b:bz; T1T1 a ab b enen a a T2T2 T1T1 b b en_a_ben_a_b !en_a_b!en_a_b 1位三态门:位三态门: tri a; assign b=(en):a?1bz; 系统总线系统总线_双向总线描述双向总线描述 当一条总线上有多设备连接时,同一时间内只当一条总线上有多设备连接时,同一时间内只 有一对设备通信,其他设备退出总线(高阻)。有一对设备通信,其他设备退出总线(高阻)。 外设通常需要总线控制
10、:外设通常需要总线控制: assign data=(en)?bus:8hzz; bus 双向总线互联双向总线互联 Master: wr=!rd assign bus=(!rd)?dataA:8hzz; always (bus)Qa=bus; Slave: assign bus=(!rd)? 8hzz:dataB always (bus) Qb=bus; MASTERMASTER SLAVESLAVE 数据总线数据总线 busbusREGREG !rd!rd wrwr REGREG dataAdataA dataBdataB rdrd QaQa QbQb 模块互联教学实例 三态门三态门 双向端口
11、双向端口 单模块调用单模块调用 多模块互联多模块互联 带双向端口模块互联带双向端口模块互联 资源优化资源优化 资源共享资源共享 资源优化资源优化串行化串行化 把具有相同逻辑的模块在时间上复用,把把具有相同逻辑的模块在时间上复用,把 一个周期的功能转化为多时钟执行,牺牲速一个周期的功能转化为多时钟执行,牺牲速 度为代价。度为代价。 用资源优化的设计实现用资源优化的设计实现(节约节约3/4资源资源) y=a0b0+a1b1+c2b2+a3b3 a b regs regs 乘法器 1 阵列乘法器阵列乘法器 assign c=a*b; always (a or b) c=a*b; 2 移位相加乘法器移
12、位相加乘法器 3 流水线乘法器(见后章)流水线乘法器(见后章) 2 移位相加乘法器移位相加乘法器 integer I,P; / 位宽位宽n-1:0 always (a or b) begin P=0; for(i=0; in; i=i+1) if(b(i) P=P+(amTd 每次数据延迟每次数据延迟 :Td=Tp+Tr 步骤步骤1步骤步骤2步骤步骤3步骤步骤4 data1 data2data1 data3data2data1 data4data3data2 data3 data1 data4data3data2 data4 data4 clk 1 2 3 4 5 6 7 流水线实现流水线实现
13、8 8位加法位加法 流水线流水线8 8位加法位加法_ _按运算步骤写按运算步骤写 input7:0a,b; output7:0 c; reg3:0 buff1,buff2,buff3; reg c1,c2; always (posedge clk) /一一级流水级流水 begin c1,buff1=a3:0+b3:0; /4 4位加位加 c2,buff1=a7:4+b7:4; end always (posedge clk) /二二级流水级流水 begin c3:0=buff1; c2,c7:4= buff2+c1; end 改进的流水线改进的流水线8 8位加法位加法 input7:0a,b;
14、 output reg7:0 c; reg3:0 buff1,buff2_a,buff2_b; reg c1,c2; always (posedge clk) /一级流水一级流水 begin c1,buff1=a3:0+b3:0; /4 4位加位加 buff2_a= a7:4; / 缓冲缓冲 buff2_b= b7:4; end always (posedge clk) /二级流水二级流水 begin c3:0=buff1; c2,c7:4= buff2_a+buff2_b+c1; /4 4位加位加 end 流水线乘法器流水线乘法器 加法树式乘法器,此方法被广泛使用加法树式乘法器,此方法被广泛
15、使用 /- din_a_buf=din_a; din_b_buf=din_b; buf0=din_b_buf0?din_a_buf:0; buf1=din_b_buf1?din_a_buf1:0; buf2=din_b_buf2?din_a_buf2:0; buf3=din_b_buf3?din_a_buf3:0; buf4=din_b_buf4?din_a_buf4:0; buf5=din_b_buf5?din_a_buf5:0; buf6=din_b_buf6?din_a_buf6:0; buf7=din_b_buf7?din_a_buf7:0; /- buf01=buf0+buf1; b
16、uf23=buf2+buf3; buf45=buf4+buf5; buf67=buf6+buf7; /- buf02=buf01+buf23; buf46=buf45+buf67; /- doutn 0计数计数n set Reg reset 技术除毛刺实例技术除毛刺实例 input clk,rst,din; output reg out; reg3:0 count1, count0; always (posedge clk) if(!din) count0=count0+1; else count0=0; always (posedge clk) if(din) count1=count1+1 else count1=0; always (posedge clk) if(count1=n) out=1; else
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长春金融高等专科学校《计量经济学》2025-2026学年期末试卷
- 中国医科大学《公司金融》2025-2026学年期末试卷
- 长春工程学院《海洋法》2025-2026学年期末试卷
- 扬州大学广陵学院《传媒伦理与法规》2025-2026学年期末试卷
- 扬州大学广陵学院《物流管理学》2025-2026学年期末试卷
- 徐州工程学院《口腔内科学》2025-2026学年期末试卷
- 长春科技学院《档案管理学》2025-2026学年期末试卷
- 徐州医科大学《工程结构荷载与可靠度设计原理》2025-2026学年期末试卷
- 长春电子科技学院《成人护理学》2025-2026学年期末试卷
- 宣化科技职业学院《劳动教育》2025-2026学年期末试卷
- 2026糖尿病素食饮食搭配课件
- (二模)济南市2026届高三第二次模拟考试历史试卷(含答案)
- 2026年党校在职研究生政治理论通关试题库及答案详解【全优】
- 2025-2026学年北京市西城外国语学校七年级下学期期中数学试题(含答案)
- 智慧树知到《形势与政策》2026春章节测试附答案
- 2026年上海市浦东新区医疗急救中心文员招聘29人(第二批)笔试参考题库及答案解析
- 2026年河南中烟工业有限责任公司招聘大学生176人考试参考题库及答案解析
- 新疆乌鲁木齐地区2026年高三下学期高考第二次质量监测文综试卷
- AQ 3067-2026 《化工和危险化学品生产经营企业重大生产安全事故隐患判定准则》解读
- 2025课堂惩罚 主题班会:马达加斯加企鹅课堂惩罚 课件
- 肇庆市劳动合同
评论
0/150
提交评论