武汉理工大学EDA实验原理图输入法输入的4位全加器和Verilog HDL语言输入的16进制频率计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生实验报告书

实验类别EDA实验

学院信息工程学院

专业通信工程

班级信息SY1001班

姓名龙涛

指导教师聂明新

2012 年12 月30 日实验课程名称:EDA技术与应用

图2 1位全加器电路图

d:\adder中,取名为h_adder.bdf。

4)建立原理图文件为顶层设计工程。然后将此文件h_adder.bdf设定为工程。

5)绘制半加器原理图。将元件放入原理图编辑窗口,按图1接好电路。

6)仿真测试半加器。全程编译后,打开波形编辑器。选择File→new命令,在New 窗口中选择Vector Waveform File选项。设置仿真时间区域,编辑输入波形,

仿真器参数设置,启动仿真器,观察仿真结果。

3、将设计项目(一位半加器)设置成可调用的元件

为了构成全加器的顶层设计,必须将以上设计的半加器h_adder.bdf设置成课调用的底层元件。在半加器原理图文件处于打开的情况下,选择菜单File→Create/Update→Create Symbol Files for Current File,即可将当前电路图变成一个元件符号存盘,以便在高层次设计中调用。

图3 半加器示意图

4、设计全加器顶层文件

为了建立全加器顶层文件,必须打开一个原理图编辑窗口,方法同前。

1)选择菜单File→new→Block Diagram/Schematic File,将其设置成新的工程,

命名为f_adder.bdf。

2)在打开的原理图编辑窗口中,双击鼠标,选择Project下先前生成的元件

h_adder和若干元器件,按图2连接好一位全加器电路图。

3)仿真测试全加器。全程编译后,打开波形编辑器。选择File→new命令,在New

窗口中选择Vector Waveform File选项。设置仿真时间区域,编辑输入波形,

仿真器参数设置,启动仿真器,观察仿真结果。

5、将设计项目(一位全加器)设置成可调用的元件

为了构成4位全加器的顶层设计,必须将以上设计的全加器f_adder.bdf设置成课调用的底层元件。在全加器原理图文件处于打开的情况下,选择菜单File→Create/Update→Create Symbol Files for Current File,即可将当前电路图变成一个元件符号存盘,以便

在高层次设计中调用。

图4 一位全加器示意图

6、四位全加器设计

为了建立4位全加器顶层文件,必须再打开一个原理图编辑窗口,方法同前。

1)选择菜单File→new→Block Diagram/Schematic File,将其设置成新的工程,

命名为adder4b.bdf。

2)在打开的原理图编辑窗口中,双击鼠标,选择Project下先前生成的元件

f_adder和若干元器件,连接好4位全加器电路图。

3)仿真测试全加器。全程编译后,打开波形编辑器。选择File→new命令,在New

窗口中选择Vector Waveform File选项。设置仿真时间区域,编辑输入波形, 仿

真器参数设置,启动仿真器,观察仿真结果。

六、实验结果与分析

1.半加器仿真波形

图5 半加器仿真波形

由仿真波形分析可得,当a,b输入全0时,co=0,so=0;当a=0,b=1时,co=0,so=1;当

a=1,b=0时,co=0,s0=1;当a,b全1时,co=1,so=0。仿真结果与半加器真值表表1相同,半加器设计成功。

2.一位全加器的仿真波形图

图6 一位全加器的RTL图

图7 一位全加器的仿真波形图

由仿真波形分析可得,当ain,bin,cin为全0时,cout=0,sum=0;当ain=0,bin=0,cin=1时,cout=0;sum=1; 当ain=0,bin=1,cin=0时,cout=0;sum=1; 当ain=0,bin=1,cin=1时,cout=1;sum=0; 当ain=1,bin=0,cin=0时,cout=0;sum=1; 当ain=1,bin=0,cin=1时,cout=1;sum=0; 当ain=1,bin=1,cin=0时,cout=1;sum=0; 当ain,bin,cin为全1时,cout=1,sum=1。由此可得仿真波形与实际一位全加器输出一致。

3.四位全加器仿真波形

图8四位全加器RTL

图9 四位全加器仿真波形

由仿真波形分析可得,当A0,A1,A2,A3,B0,B1,B2,B3,C0为全0时,COUT=0,D0=0,D1=0,D2=0,D3=0;当A0=0,A1=0,A2=0,A3=0,B0=0,B1=0,B2=0,B3=0,C0=1时,COUT=0,D0=1,D1=0,D2=0,D3=0; 当A0=0,A1=0,A2=0,A3=0,B0=0,B1=1,B2=0,B3=0,C0=1时,COUT=0,D0=0,D1=1,D2=0,D3=0; 当A0=0,A1=0,A2=0,A3=0,B0=1,B1=0,B2=1,B3=0,C0=1时,COUT=0,D0=0,D1=1,D2=1,D3=0;其他输入分析同理,只分析前4组。可得,仿真波形结果与实际四位全加器输出结果相同。

附录

四位全加器原理图:

实验课程名称:EDA技术与应用

图1 测频控制电路的RTL图

图2测频控制电路元件图

②32位锁存器程序如下:

module locker(LOCK,DIN,QOUT);

input LOCK; //锁存脉冲,下降沿有效。input[31:0] DIN; //锁存值输入。

output[31:0] QOUT; //锁存值。

reg[31:0] QOUT;

always @(negedge LOCK)

begin

if(!LOCK)

QOUT =DIN;

else

QOUT = QOUT;

end

endmodule

图3 32位锁存器的RTL图

相关文档
最新文档