目录实验一4选1数据选择器的设计/4学时(EDA-01)……………………………………………2实验二译码器的设计/2学时(EDA-02)…………………………………………………………6实验三带清零、使能的4位加法计数器设计/2学时(EDA-03)………………………………10实验四8位移位寄存器的设计/2学时(EDA-04)…………………………………………………12实验五深度为4的8位RAM设计/2学时(EDA-05)……………………………………………14实验六基于LPM函数的加法电路设计/2学时(EDA-06)………………………………………17主要参考文献……………………………………………………………………………………22《EAD技术》实验指导书-1-实验一4选1数据选择器的设计一、实验目的和任务1、熟习QuartusII软件的使用;2、掌握用原理图输入法和硬件描述语言(VerilogHDL)两种方法来设计逻辑电路;3、通过电路的仿真及验证,进一步了解4选1数据选择器的功能;二、实验内容1、用原理图输入法来设计4选1数据选择器参照按图1-1所示来编辑完成4选1数据选择器的原理图输入,其中a、b、c、d为数据输入端,sel[1]、sel[0]为控制输入端,q为4选1数据输出端。存盘仿真后,观察仿真波形,以验证数据选择器的功能。图1-14选1数据选择器原理图2、用VerilogHDL硬件描述语言来设计4选1数据选择器用QuartusII中的文本编辑器,编辑输入4选1数据选择器源程序:modulem41(a,b,c,d,sel,q);inputa,b,c,d;input[1:0]sel;outputq;regq;always@(sel)case(sel)2’b00:q=a;2’b01:q=b;《EAD技术》实验指导书-2-2’b10:q=c;2’b11:q=d;endcaseendmodule程序中的a、b、c、d依然为数据输入端,sel[1]、sel[0]为控制输入端,q为4选1数据输出端。同样存盘后进行仿真,并观察仿真波形,以验证数据选择器的功能。三、实验仪器、设备及材料电脑、EDA软件、实验箱、下载电缆、连接导线。四、实验原理4选1数据选择器的原理框图及真值表如图1-2及表1-1所示,sel[1:0]可能出现四种组合情况:00011011,它分别对应选通四个不同的数据输入a、b、c、d,从q端输出。结合以前所学数字电路的知识,可由真值表得出利用“与非门”实现的逻辑电路,进而可用QuartusII原理图输入方法,设计出该4选1数据选择器;如应用EDA技术所学的VerilogHDL硬件描述语言来描述该电路功能,即可设计出该4选1数据选择器的源程序。qSel[1]输出选择输入0a01b00c11d1Sel[0]表1-1真值表图1-24选1数据选择器的原理框图五、主要技术重点、难点本实验技术重点在于理解4选1数据选择器的功能后,用原理图输入法和硬件描述语言(VerilogHDL)两种方法来设计该逻辑电路。其难点是要仿真出4选1数据选择器的波形,然后通过观测仿真波形,来验证该数据选择器的功能。六、实验步骤(一)原理图输入法的设计步骤:(1)进入Windows操作系统,双击QuartusII图标,启动软件。1、单击File\NewProjectWizard菜单,输入文件名路径与设计项目的名字mux41,点击finish,完成设计项目建立。dabcqsel[1:0]四选一电路《EAD技术》实验指导书-3-点击Assignment\Device菜单,选择器件(本设计选用EPF10K10)。2、启动菜单File\New,选择BlockDiagram/SchematicFile,点OK,启动原理图编辑器。画出如下电路原理图(具体方法见后面说明)。默认存盘名为mux41,保存。(2)设计的输入1.在原理图空白处双击,会出现元件选择对话框,在name处输入元件名,点OK完成元件放置。依次放置4个三输入端与门(and3)、1个四输入端或门(or4),2个非门(not)器件、及6个输入端(input)、1个输入端(output)在原理图上;《EAD技术》实验指导书-4-2.添加连线到器件的管脚上把鼠标移到元件引脚附近,则鼠标光标自动由箭头变为十字,按住鼠标右键拖动,即可画出连线,参照图1连好相应元件的输入、输出脚。3.保存原理图单击保存按钮。原理图文件出现在红色箭头所指的地方。(3)编译点击菜单栏上红色箭头所指的工具图标,完成编译。图1-3编译《EAD技术》实验指导书-5-(4)仿真设计文件编译没有错误可以进行仿真。点击File\New菜单。选择otherfiles中的vectorwaveformfile。画出输入波形,执行仿真命令,启动仿真并观察仿真波形,进行设计电路的功能验证。点击开始仿真《EAD技术》实验指导书-6-图1-4新建波形文件的选择对话框(二)用VerilogHDL语言完成的设计步骤:(1)、运行QuartusII软件,先建立一个新的项目。(2)、启动File\New菜单命令(如图1-5);图1-5新建文本文件的选择对话框(3)、选择veriloghdlfile,点击OK后,键入上面“二、实验内容”中的程序。(4)、以默认文件名和路径保存。modulem41(a,b,c,d,sel,q);inputa,b,c,d;input[1:0]sel;outputq;regq;always@(sel)《EAD技术》实验指导书-7-case(sel)2'b00:q=a;2'b01:q=b;2'b10:q=c;2'b11:q=d;endcaseendmodule(5)参照原理图输入设计进行仿真,并观察仿真波形,以验证所设计电路的功能。七、实验报告要求1.对于原理图设计要求有设计过程。2.详细论述实验步骤。3.给出原理图输入法和VerilogHDL语言设计两种方法的仿真波形。八、实验注意事项1.使用原理图设计时,其文件名[mux41.gdf]要与仿真的波形文件名[mux41.vwf]相同,只是文件的后缀不同;使用VerilogHDL语言设计时,其文件名(m4_1.V)要与模块名[modulem4_1(a,b,c,d,sel,q);]相同,且仿真的波形文件名[m4_1.vwf]也要相同。2.用原理图输入法和VerilogHDL语言两种方法所做的设计,一定要建两个不同的工程,最好放在不同的目录中,且目录名不要出现中文字符。3.在WaveformEditor仿真时,应先在菜单选项的Edit/GridSize…中所弹出的对话框中将GridSize:改为1.0us;并菜单选项的Edit/EndTime…中所弹出的对话框中将Grid《EAD技术》实验指导书-8-Size改为100.0us,以方便观察、理解仿真得到的波形。九、思考题1.如何用设计好的4选1数据选择器,来实现8选1数据选择器的设计(用原理图输入法来设计),试给出设计与仿真的结果。2.谈谈使用原理图输入法和VerilogHDL语言设计两种方法的优劣心得。《EAD技术》实验指导书-9-实验二译码器的设计一、实验目的和任务1、熟习QuartusII软件的使用;2、掌握用VerilogHDL硬件描述语言来设计3-8译码器及七段显示译码器;3、通过电路的仿真和硬件验证,进一步了两种译码器的功能;二、实验内容1、要求用VerilogHDL语言设计一个3输入、8输出的3-8译码器,输出低有效。用Quartus中的文本编辑器,编辑输入3-8译码器的参考源程序:moduledecoder3_8(a,y);input[2:0]a;output[7:0]y;reg[7:0]y;always@(a)case(a)3'b000:y=8'b11111110;3'b001:y=8'b11111101;3'b010:y=8'b11111011;3'b011:y=8'b11110111;3'b100:y=8'b11101111;3'b101:y=8'b11011111;3'b110:y=8'b10111111;3'b111:y=8'b01111111;endcaseendmodule程序中的a[2:0]为3个数据输入端,y[7:0]为8个数据输出端。编辑输入存盘后,要求进行仿真,并观察仿真波形,以验证3-8译码器的功能。2、要求用VerilogHDL语言来设计七段显示译码器,用于控制共阴LED数码管显示“0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F”字符。要求该输入为4位二进制码,输出7位共阴LED数码管的a、b、c、d、e、f、g的控制位,以控制其显示相应的字符。用QuartusII中的文本编辑器,编辑输入七段显示译码器的源程序:modulede_7(d,y);input[3:0]d;output[6:0]y;reg[6:0]y;always@(d)《EAD技术》实验指导书-10-case(d)4’b0000:y=7’b1111110;4’b0001:y=7’b0110000;4’b0010:y=7’b1101101;4’b0011:y=7’b1111001;4’b0100:y=7’b0110011;4’b0101:y=7’b1011011;4’b0110:y=7’b1011111;4’b0111:y=7’b1110000;4’b1000:y=7’b1111111;4’b1001:y=7’b1111011;4’b1010:y=7’b1110111;4’b1011:y=7’b0011111;4’b1100:y=7’b1001110;4’b1101:y=7’b0111101;4’b1110:y=7’b1001111;4’b1111:y=7’b1000111;endcaseendmodule程序中的d[3:0]为4位二进制码的输入端,7位输出y[6:0]对应共阴LED数码管的7位控制位:a、b、c、d、e、f、g。同样存盘后进行仿真,并观察仿真波形,以验证七段显示译码器的功能。三、实验仪器、设备及材料电脑、EDA软件、实验箱、下载电缆、连接导线。四、实验原理1.3-8译码器的原理框图及真值表如图2-1及表2-1所示,3个输入a[2:0]可能出现8种组合情况:000,001,010,011,100,101,110,111,这样就可控制8个输出y[7:0]相应的某1位输出为“0”。图2-13-8译码器的原理框图a[0]3-8译码器a[1]a[2]y[7:0]输入输出a[2:0]y[7:0]00011111110001111111010101111101101111110111输入输出a[2:0]y[7:0]10011101111101110111111101011111111101111111表2-13-8译码器真值表《EAD技术》实验指导书-11-2.七段显示译码器的原理框图及真值表如图2-2及表2-2所示,4个输入d[3:0]可能出现16种组合情况;它的7个输出y[6:0]分别控制共阴LED数码管的a、b、c、d、e、f、g七段的亮/灭,从而显出对应的16个字符。图2-2七段显示译码器的原理框图五、主要技术重点、难点本实验技术重点在于理解3-8译码器、七段显示译码器的功能后,用VerilogHDL硬件描述语言来设计两种译码器;并掌握always、case语句的使用。其难点是要仿真出3-8译码器、七段显示译码器的波形,然后通过观测仿真波形,来验证相应译码器的功能。六、实验步骤(一)用VerilogHDL语言设计3-8译码器的步骤:(1)、运行QuartusII软件,新建一个项目。(2)、启动File\New菜单命令。(3)、选择VerilogHdlFile,点击OK后,键入上面“二、实验内容”中的程序;(4)、保存在默认路径,要求文件名与电路名(程序module后面的英文名字)及项目名相同。(5)、仿真设计文件启动Quartus\File\New菜单,选择otherfiles中的vectorwaveformfi