veriloghdl高级程序设计举例

veriloghdl高级程序设计举例

ID:40055541

大小:1.49 MB

页数:80页

时间:2019-07-18

veriloghdl高级程序设计举例_第1页
veriloghdl高级程序设计举例_第2页
veriloghdl高级程序设计举例_第3页
veriloghdl高级程序设计举例_第4页
veriloghdl高级程序设计举例_第5页
资源描述:

《veriloghdl高级程序设计举例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章VerilogHDL高级程序设计举例7/15/20211MicroelectronicsSchoolXidianUniversity6.1数字电路系统设计的层次化描述方法Bottom-Up:7/15/20212MicroelectronicsSchoolXidianUniversity串行加法器:一个四位串行加法器由4个全加器构成。全加器是串行加法器的子模块,而全加器是由基本的逻辑门构成,这些基本的逻辑门就是所说的叶子模块。这个设计中运用叶子模块(基本逻辑门)搭建成子模块(全加器),再用子模块搭建成所需要的电路(串行加法器)。显然,Bottom-Up的设计方法没

2、有明显的规律可循,主要依靠设计者的实践经验和熟练的设计技巧,用逐步试探的方法最后设计出一个完整的数字系统。系统的各项性能指标只有在系统构成后才能分析测试。此种设计方法常用于原理图的设计中,相比于其它方法此种方法对于实现各个子模块电路所需的时间较短。7/15/20213MicroelectronicsSchoolXidianUniversityTop-Down:7/15/20214MicroelectronicsSchoolXidianUniversity使用Top-Down设计方法对一个典型cpu进行设计:7/15/20215MicroelectronicsSchoo

3、lXidianUniversity向量点积乘法器:采用模块层次化设计方法,设计4维向量点积乘法器,其中向量a=(a1,a2,a3,a4);b=(b1,b2,b3,b4)。点积乘法规则为:7/15/20216MicroelectronicsSchoolXidianUniversity7/15/20217MicroelectronicsSchoolXidianUniversityVerilogHDL程序代码为:modulevector(a1,a2,a3,a4,b1,b2,b3,b4,out);input[3:0]a1,a2,a3,a4,b1,b2,b3,b4;output

4、[9:0]out;wire[7:0]out1,out2,out3,out4;wire[8:0]out5,out6;wire[9:0]out;mul_addtreeU1(.x(a1),.y(b1),.out(out1));mul_addtreeU2(.x(a2),.y(b2),.out(out2));mul_addtreeU3(.x(a3),.y(b3),.out(out3));mul_addtreeU4(.x(a4),.y(b4),.out(out4));add#(8)U5(.a(out1),.b(out2),.out(out5));add#(8)U6(.a(out3

5、),.b(out4),.out(out6));add#(9)U7(.a(out5),.b(out6),.out(out));endmodule//addermoduleadd(a,b,out);parametersize=8;input[size-1:0]a,b;output[size:0]out;assignout=a+b;endmodule//Multipliermodulemul_addtree(mul_a,mul_b,mul_out);input[3:0]mul_a,mul_b;//IOdeclarationoutput[7:0]mul_out;wire[3:

6、0]mul_out;//Wiredeclarationwire[3:0]stored0,stored1,stored2,stored3;wire[3:0]add01,add23;assignstored3=mul_b[3]?{1'b0,mul_a,3'b0}:8'b0;//Logicdesignassignstored2=mul_b[2]?{2'b0,mul_a,2'b0}:8'b0;assignstored1=mul_b[1]?{3'b0,mul_a,1'b0}:8'b0;assignstored0=mul_b[0]?{4'b0,mul_a}:8'b0;assign

7、add01=stored1+stored0;assignadd23=stored3+stored2;assignmul_out=add01+add23;endmodule6.2典型电路设计6.2.1加法器树乘法器加法器树乘法器的设计思想是“移位后加”,并且加法运算采用加法器树的形式。乘法运算的过程是,被乘数与乘数的每一位相乘并且乘以相应的权值,最后将所得的结果相加,便得到了最终的乘法结果。例:下图是一个4位的乘法器结构,用VerilogHDL设计一个加法器树4位乘法器7/15/20218MicroelectronicsSchoolXidianUniv

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。