实验1 运算器设计与仿真_第1页
实验1 运算器设计与仿真_第2页
实验1 运算器设计与仿真_第3页
实验1 运算器设计与仿真_第4页
实验1 运算器设计与仿真_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、 预做实验报告1运算器设计与仿真一、实验目的理解并掌握运算器的基本电路结构及其设计方法,学会使用VerilogHDL对电路进行行为建模、结构建模以及仿真测试。二、实验内容利用VerilogHDL设计一个运算器模型,并进行仿真测试。要求该运算器的字长为32位,能够实现加法、减法、逻辑与、逻辑或四种运算,并产生N(结果为负)、Z(结果为零)、V(结果溢出)、C(进位)四个标志位。要求采用层次化的建模方法,即先搭建低层模块,然后再逐级搭建高层模块。三、实验环境PC机1台、Modelsim仿真软件1套。四、实验步骤1、电路结构设计ALU的电路结构OP00AND01OR1位全加器逻辑表达式:S=abCj

2、+abCj+abCj+abCfabciCo=abc+abc+abc+abc=ab+ac+bciiiiiiaHL-s7-Docs其中:Sub=0,做加法,Sub=1,做减法。2、建立Verilog模型modulefadd(a,b,s,ci,co);inputa,b,ci;outputs,co;regs,co;always(aorborci)begins=(a&b&ci)|(a&b&ci)|(a&b&ci)|(a&b&ci);co=(a&b)|(a&ci)|(b&ci);endendmodulemoduleadd(a,b,sub,s,c,v,n);input31:0a;input31:0b;inp

3、utsub;output31:0s;outputc,v,n;wire31:0a;wire31:0b;wirec1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c30,c31;faddf0(a0,b0Asub,s0,sub,cl);faddf1(a1,b1Asub,s1,c1,c2);faddf2(a2,b2Asub,s2,c2,c3);faddf3(a3,b3Asub,s3,c3,c4);faddf4(a4,b4Asub,s4,c4

4、,c5);faddf5(a5,b5Asub,s5,c5,c6);faddf6(a6,b6Asub,s6,c6,c7);faddf7(a7,b7Asub,s7,c7,c8);faddf8(a8,b8Asub,s8,c8,c9);faddf9(a9,b9Asub,s9,c9,c10);faddf10(a10,b10Asub,s10,c10,c11);faddf11(a11,b11Asub,s11,c11,c12);faddf12(a12,b12Asub,s12,c12,c13);faddf13(a13,b13Asub,s13,c13,c14);faddf14(a14,b14Asub,s14,c14

5、,c15);faddf15(a15,b15Asub,s15,c15,c16);faddf16(a16,b16Asub,s16,c16,c17);faddf17(a17,b17Asub,s17,c17,c18);faddf18(a18,b18Asub,s18,c18,c19);faddf19(a19,b19Asub,s19,c19,c20);faddf20(a20,b20Asub,s20,c20,c21);faddf21(a21,b21Asub,s21,c21,c22);faddf22(a22,b22Asub,s22,c22,c23);faddf23(a23,b23Asub,s23,c23,c2

6、4);faddf24(a24,b24Asub,s24,c24,c25);faddf25(a25,b25Asub,s25,c25,c26);faddf26(a26,b26Asub,s26,c26,c27);faddf27(a27,b27Asub,s27,c27,c28);faddf28(a28,b28Asub,s28,c28,c29);faddf29(a29,b29Asub,s29,c29,c30);faddf30(a30,b30Asub,s30,c30,c31);faddf31(a31,b31Asub,s31,c31,c);assignn=s31;assignv=cAc31;endmodule

7、modulemux21_32(f,a,b,s);output31:0f;input31:0a,b;inputs;reg31:0f;always(soraorb)case(s)1d0:f=a;1d1:f=b;endcaseendmodulemoduleALU(op,a,b,s,n,v,c,z);input1:0op;input31:0a,b;output31:0s;outputn,v,c,z;wire31:0d,e,f,s1;assignd=a&b;assigne=a|b;mux21_32u0(f,d,e,op0);addu2(a,b,op0,s1,c,v,n);mux21_32u1(s,f,s

8、1,op1);assignz=(|s);endmodule3、设计测试文件timescaleIns/InsmoduleALUtest;regclk;reg1:0op;reg31:0a,b;wire31:0s;wiren,v,c,z;/op=00AND;/op=01OR;/op=10ADD;/op=11SUB;ALUA(op,a,b,s,n,v,c,z);/clockgenerationinitialclk=1;always#50clk=clk;initialbegin#20a=32b0100_0101_0100_0000_0010_0010_0101_0001;b=32b1010_0101_0

9、010_0000_0100_0010_0011_0010;op=2b00;#100a=32b0100_0101_0100_0000_0010_0010_0101_0001;b=32b1010_0101_0010_0000_0100_0010_0011_0010;op=2b01;#100a=32b0100_0101_0100_0000_0010_0010_0101_0001;b=32b1010_0101_0010_0000_0100_0010_0011_0010;op=2b10;#100a=32b0100_0101_0100_0000_0010_0010_0101_0001;b=32b1010_

10、0101_0010_0000_0100_0010_0011_0010;op=2b11;#100a=32b0111_1011_1101_1110_1111_1111_1111_1111;b=32b0111_1011_1101_1110_1111_1111_1111_1111;op=2b11;#100a=32d15;b=32d9;op=2b11;#100a=32d9;b=32d15;op=2b11;#100$stop;endEndmodule$display(a=%b,b=%b,op=%b,s=%b,n=%b,z=%b,v=%b,c=%bn,a,b,op,s,n,z,v,c);注意:测试的完备性。4、将设计文件和测试文件输入Modesim仿真工具,并进行编译和功能仿真。5、观测仿真波形图,分析结果是否正确。若有错误,则修改

温馨提示

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

评论

0/150

提交评论