数电— 4位并行乘法器的电路设计与仿真.doc_第1页
数电— 4位并行乘法器的电路设计与仿真.doc_第2页
数电— 4位并行乘法器的电路设计与仿真.doc_第3页
数电— 4位并行乘法器的电路设计与仿真.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题目: 4位并行乘法器的电路设计与仿真功能要求:1. 实现4位并行乘法器的电路设计;2. 带异步清零端;3. 输出为8位;4. 单个门延迟设为5 ns。设计要求v 使用Verilog语言寄存器传输级(RTL)方法描述电路;v 使用testbeach方法验证电路;验证要求计算总时延等。v 开发环境选用Modelsim 6.5b;v 文档:分析文档、设计文档、测试文档、代码和总结。v 设要有完整的组合逻辑电路设计步骤;v 每一步骤完成要正确合理;v 设计电路时分模块测试。时间安排v 分析设计阶段:周一至周二上午;v 代码编写阶段:周二下午至周三;v 代码测试优化阶段:周四;v 仿真分析及总结:周五上午;v 验收:周五下午。验收标准v 文档齐全(20分)。 注:无文档不可以进行下一步。v 仿真结果正确,回答问题正确。(50分)v 课程设计报告。(30分)一、分析A3A2A1A0与B3B2B1B0相乘,按乘法规则进行计算如下: A3B0 A2B0 A1B0 A0B0 A3B1 A2B1 A1B1 A0B1 A3B2 A2B2 A1B2 A0B2+ A3B3 A2B3 A1B3 A0B3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0每一列相加均采用全加器,最直接的方法是采用一位全加器,也可采用超前进位加法器,相对延迟会更短。采用一位全加器,有两种算法,第一种为每两列相加,每一行加法器串行进位,这种方法相对延迟较大,设每个全加器延迟为t,采用这种方法的最大延迟为8t。第二种为断开串行进位的进位链,以缩短每次加法的延迟。实现方法为:将第j步第i位的进位输出连到下一步(第j+1步)第i+1位的进位输入。但最后要添加一行串行进位的加法器。此种方法的最大延为6t。 A3B0 A3B1A0B1A2B1A1B1A3B2A2B2A1B2A0B2+A3B3A2B3A1B3A0B3+A3B0A3B0A3B0A3B0/ 四位并行乘法器模块module mul4x4(reset,a,b,y); output 7:0 y; input 3:0 a,b; input reset; wire 11:0 s,co; wire 15:0 c; assign #5 c0=a0&b0, c1=a1&b0, c2=a2&b0, c3=a3&b0; assign #5 c4=a0&b1, c5=a1&b1, c6=a2&b1, c7=a3&b1; assign #5 c8=a0&b2, c9=a1&b2, c10=a2&b2, c11=a3&b2; assign #5 c12=a0&b3, c13=a1&b3, c14=a2&b3, c15=a3&b3; fulladder add0(s0,co0,c1,c4,1b0); fulladder add1(s1,co1,c2,c5,1b0); fulladder add2(s2,co2,c3,c6,1b0); fulladder add3(s3,co3,c8,s1,co0); fulladder add4(s4,co4,c9,s2,co1); fulladder add5(s5,co5,c10,c7,co2); fulladder add6(s6,co6,c12,s4,co3); fulladder add7(s7,co7,c13,s5,co4); fulladder add8(s8,co8,c14,c11,co5); fulladder add9(s9,co9,s7,co6,1b0); fulladder add10(s10,co10,s8,co7,co9); fulladder add11(s11,co11,c15,co8,co10); assign #5 y0=reset&c0; assign #5 y1=reset&s0; assign #5 y2=reset&s3; assign #5 y3=reset&s6; assign #5 y4=reset&s9; assign #5 y5=reset&s10; assign #5 y6=reset&s11; assign #5 y7=reset&co11;endmodule/ 乘法器测试模块module tb_mul4x4; reg reset; reg 3:0 a,b; wire 7:0 y; integer j=0,i=0; mul4x4 mul(reset,a,b,y); initial begin $monitor($time,reset=%d,a=%d,b=%d,y=%d,reset,a,b,y); a=4d1;b=4d4;reset=1b1; #200 reset=1b0;a=4d1;b=4d4; for(i=0;i16;i=i+1)begin for(j=0;j16;j=j+1) begin #200 a=i;b=j; end end end endmodule/ 一位全加器模块 module fulladder(s,co,a,b,ci); output s,co; input a,b,ci; assign #15 s=(a&b&ci)|(a&b&ci)|(a&b&ci)|(a&b&ci); assign #15 co=(a&b)|(b&ci)|(a&ci);endmodule/ 全加器测试模块module tb_fulladder; reg a,b,ci; wire s,co; fulladder add0(s,co,a,b,ci); initial begin a=1b0;b=1b0;ci=1b1; #15 a=1b0;b=1b0;ci=1b0; $monitor($time,a=%d,b=%d,ci=%d,s=%d,co=%d,a,b,ci,s,co); #15 a=1b0;b=1b0;ci=1b1; #15 a=1b0;b=1b1;ci=1b0; #15 a=1b0;b=1b1;ci=1b1; #15 a=1b1;b=1b0;ci=1b0; #15 a=1b1;b=1b0;ci=1b1; #15 a=1b1;b=1b1;ci=1b0; #15 a=1b1;b=1b1;ci=1b1; end endmodule/一位全加器加上最大延迟15ns,分析乘法器最大延时为90ns(六个全加器),/实际测得乘法器延时75ns,即可输出正确结果。测试结果如下:# 0reset=1,a= 1,b= 4,y= 0# 200reset=0,a=15,b=14,y= 4# 215reset=0,a=15,b=14,y= 78# 230reset=0,a=15,b=14,y=146# 245reset=0,a=15,b=14,y=162# 260reset=0,a=15,b=14,y=178# 275reset=0,a=15,b=14,y=210/加法器设置15ns个延时,测试时也设置15ns延时。测试结果如下:# 15a=0,b=0,ci=0,s=1,co=0# 30a=0,b=0,ci=1,s=0,co=0# 45a=0,b=1,ci=0,s=1,co=0# 60a=0,b=1,ci=1,s=1,co=0# 75a=1,b=0,ci=0,s=0,co=1# 90a=1,b=0,ci=1,s=1,co=0# 105a=1,b=1,ci=0,s=0,co=1# 120a=1,b=1,ci=1,s=0,co=1# 135a=1,b=1,ci=1,s=1,co=1/加法器设置15ns个延时,测试时设置20ns延时。测试结果如下:# 20a=0,b=0,ci=0,s=1,co=0# 35a=0,b=0,ci=0,s=0,co=0# 40a=0,b=0,ci=1,s=0,co=0# 55a=0,b=0,ci=1,s=1,co=0# 60a=0,b=1,ci=0,s=1,co=0# 80a=0,b=1,ci=1,s=1,co=0# 95a=0,b=1,ci=1,s=0,co=1# 100a=1,b=0,ci=0,s=0,co=1# 115a=1,b=0,ci=0,s=1,co=0# 120a=1,b=0,ci=1,s=1,co=0# 135a=1,b=0,ci=1,s=0,co=1# 140a=1,b=1,ci=0,s=0,co=1# 160a=1,b=1,ci=1,s=0,co=1# 175a=1,b=1,ci=1,s=1,co=1/再给复位时的与门和位相与的与门加上5ns延迟,测得延时为85ns# 0reset=1,a= 1,b= 4,y= x# 5reset=1,a= 1,b= 4,y= 0# 100reset=0,a=15,b=14,y= 0# 105reset=0,a=15,b=14,y= 4# 125reset=0,a=15,b=14,y= 78# 140reset=0,a=15,b=14,y=146# 155reset=0,a=15,b=14,y=16

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论