




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EDA技术实验指导书山东建筑大学信息与电气工程学院前 言前 言一、实验目的本实验课程的目的,旨在通过上机实验,使学生加深理解EDA技术的基本方法,帮助和培养学生建立利用原理图和硬件描述语言进行电路设计的基本方法和利用EDA工具软件(Quartus)设计简单数字电子系统的能力,为以后从事有关数字电子系统方面的设计和研究开发工作打下基础。二、实验前预习每次实验前,学生须仔细阅读本实验指导书的相关内容,明确实验目的和实验内容;明确实验原理与步骤;复习与实验内容有关的理论知识;预习仪器设备的使用方法、操作规程及注意事项。 三、实验注意事项1实验开始前,应先检查本人的计算机是否安装相关软件,了解其软件的
2、使用方法和要求。2实验时每个同学应单独设计程序、操作、记录实验结果等,使每个同学受到全面训练。3测量数据或观察现象要认真细致,实事求是。使用计算机要符合操作规程,切勿随便重启频繁开关计算机。4未经许可,不得动用其它人的仪器设备或计算机等物。5实验结束后,实验记录交指导教师查看并认为无误后,离开机房。最后,应清理计算机,备份编写程序。6爱护公物,发生仪器设备等损坏事故时,应及时报告指导教师,按有关实验管理规定处理。7自觉遵守学校和实验室管理的其它有关规定。四、实验总结每次实验后,应对实验进行总结,即实验数据进行整理,绘制波形和图表,分析实验现象,撰写实验报告。实验报告除写明学院、班级、姓名、学号
3、、课程、实验日期、实验名称外,还应包括:1实验目的。2实验仪器与设备。3实验内容。4实验原理与步骤。5实验结果与分析。目 录目 录实验一 半加器设计1实验二 全加器设计5实验三 译码器设计8实验四 数据选择器设计11实验五 触发器设计14实验六 计数器设计16实验七 计数译码系统电路设计19实验八 BCD数加法系统电路设计24实验一 半加器设计实验一 半加器设计一、实验目的1、学习Quartus工具软件的基本功能和使用方法2、学习使用原理图输入法设计半加器,掌握原理图输入法的操作步骤3、初步掌握设计电路原理图的编辑、编译、仿真等操作方法二、实验仪器与设备1、PC机2、Quartus II 软件
4、三、实验内容以Altera公司的Quartus II为工具软件,采用原理图输入法设计半加器h_adder,生成元件符号,并仿真验证设计结果。四、实验原理与步骤1、元件选择在Quartus II工具软件的元件库中已经有与门、或门、与非门和异或门等元件,在设计中可直接调用这些元件,实现电路设计。图1 半加器原理图 建立以h_adder命名的新工程后,选择新建文件,选择“Block Diagram/Schematic File”选项,进入图形编辑页面,在页面的空白处双击鼠标则弹出元件库文件夹,在符号文件“Symbol Files”栏目中列出了该库的基本元件的元件名,例如and2(二输入端的与门)、x
5、or(异或门)、VCC(电源)、input(输入)和output(输出)等。在元件选择对话框的符号名“Symbol Name”栏目内直接输入xor,或者在“Symbol Files”栏目中,用鼠标双击“xor”元件名,即可得到异或门的元件符号。用上述同样的方法也可以得到其他元件符号。2、编辑半加器的原理图半加器逻辑电路图如图1所示,它由1个异或门和1个与门构成,a、b是输入端,SO是和输出端,CO是向高位的进位输出端。 在元件选择对话框的符号名“Symbol Name”栏目内直接输入xor,或者在“Symbol Files”栏目中,用鼠标双击“xor”元件名,即可得到异或门的元件符号。用上述同
6、样的方法也可以得到与门及输入端和输出端的元件符号。用鼠标双击输入或输出元件中原来的名称,使其变黑后就可以进行名称修改,用这种方法把两个输入端的名称分别更改为“a”和“b”,把两个输出端的名称分别更改为“SO”和“CO”,然后按照图1所示的半加器逻辑电路的连接方式,用鼠标将相应的输入端和输出端及电路内部连线连接好,并以“h_addergdf”(注意后缀是gdf)为文件名,存在自己建立的工程目录d:myedamygdf内。进行存盘操作时,系统在弹出的存盘操作对话框中,自动保留了上一次存盘时的文件名和文件目录,不要随意单击“OK”按钮结束存盘,一定要填入正确的文件名并选择正确的工程目录后,才能单击“
7、OK”按钮存盘,这是上机实验时最容易忽略和出错的地方。 3、编译设计图形文件 设计好的图形文件一定要通过Quartus II的编译。在Quartus II集成环境下,执行“Quartus”菜单下的“Compiler”命令,在弹出的编译对话框中单击“Start”按钮,即可对h_addergdf文件进行编译。 在编译中,Quartus II自动完成编译网表提取(Compiler Netlist Extractor)、数据库建立(Database Builder)、逻辑综合(Logic Synthesizer)、逻辑分割(Partitioner)、适配(Fitter)、延时网表提取(Timing S
8、NF Extractor)和编程文件汇编(Assembler)等操作,并检查设计文件是否正确。存在错误的设计文件是不能将编译过程进行到底的,此时计算机会中断编译,并在编译(Compiler)对话框中指出错误类型和个数。4、生成元件符号 在Quartus II集成环境下,执行“File”菜单下的“Create Default Symbol”命令,将通过编译的GDF文件生成一个元件符号,并保存在工程目录中。这个元件符号可以被其他图形设计文件调用,实现多层次的系统电路设计。5、功能仿真设计文件 仿真,也称为模拟(Simulation);是对电路设计的一种间接的检测方法。对电路设计的逻辑行为和功能进行
9、模拟检测,可以获得许多设计错误及改进方面的信息。对于大型系统的设计,能进行可靠、快速、全面的仿真尤为重要。 建立波形文件 进行仿真时需要先建立仿真文件。在Quartus II环境执行“File”的“New”命令,再选择弹出的对话框中的Waveform Editor fi1e项,波形编辑窗口即被打开。 输入信号节点 在波形编辑方式下,执行“Edit”“Insert”“Insert Node or bus”“Nodes finder”命令,在filter对话框中选择“pin:all”,单击右边按钮“List”,这时在对话框左边的“Nodes fond” (可利用的节点与组)框中将列出该设计项目的全
10、部信号节点。若在仿真中只需要观察部分信号的波形,则首先用鼠标将选中的信号名点黑,然后单击对话框中间的“=>”按钮,选中的信号即进入到对话框右边的“Selected Nodes”(被选择的节点与组)框中。如果需要删除“被选择的节点与组”框中的节点信号,也可以用鼠标将其名称点黑,然后单击对话框中间的“<="按钮。节点信号选择完毕后,单击“OK”按钮即可。 设置波形参量 在波形编辑对话框中调入了半加器的所有节点信号后,还需要为半加器输入信号a和b设定必要的测试电平等相关的仿真参数。如果希望能够任意设置输入电平位置或设置输入时钟信号的周期,可以在view选项中,取消网格对齐Sna
11、p to Grid的选择(取消钩)。 设定仿真时间宽度 在仿真对话框,默认的仿真时间域是1S。如果希望有足够长的时间观察仿真结果,可以选择“File”命令菜单中的“End Time”选项,在弹出的“End Time”对证框中,填入适当的仿真时间域(如10S)即可。 加入输入信号为输入信号a和b设定测试电平的方法及相关操作如教材图2.1.3所示,利用必要的功能键为a和b加上适当的电平,以便仿真后能测试so和co输出信号。 波形文件存盘以“h_adderscf”(注意后缀是scf)为文件名,存在自己建立的工程目录d:myedamygdf内。在波形文件存盘时,系统将本设计电路的波形文件名自动设置为“
12、h_adder.scf”,因此可以直接单击确定按钮。 进行仿真波形文件存盘后,执行“Quartus II”选项中的仿真器“Simulator”命令,单击弹出的“仿真开始”对话框中的“Start”按钮,即可完成对半加器设计电路的仿真,可通过观察仿真波形进行设计电路的功能验证。五、实验报告要求1、画出编译通过后的原理图。2、绘出生成的元件符号。3、绘出仿真波形图。4、实验结果分析。30实验二 全加器设计实验二 全加器设计一、实验目的1、学习Quartus工具软件的基本功能和使用方法2、学习使用原理图输入法层次化设计全加器的方法3、掌握设计电路原理图的编辑、编译、仿真等操作方法二、实验仪器与设备 1
13、、PC机 2、Quartus II 软件三、实验内容以Altera公司的Quartus II为工具软件,采用层次化原理图输入法设计1位全加器f_adder,生成元件符号,并仿真验证设计结果。在此基础上设计4位加法器。四、实验原理与步骤1、编辑1位全加器的原理图1位全加器可以用两个半加器及一个或门连接而成。其原理图如图1所示。 在Quartus II图形编辑方式下,在用户目录中找到自己设计的半加器元件h_adder,并把它调入原理图编辑框中(调入两个),另外从元件库中调出一个两输入端的或门,并加入相应的输入和输出元件,按照图1所示电路连线,得到1位全加器电路的设计结果。电路中的a和b是两个1位二
14、进制加数输入,cin是低位来的进位输入,sum是和输出,cout是向高位进位输出。2、设计文件存盘与编译完成1位全加器电路原理图的编辑后,以f_addergdf为文件名将1位全加器电路原理图设计文件保存在工程目录中,“.gdf”表示图形文件。进行存盘操作时,系统在弹出的存盘操作对话框中,自动保留了上一次存盘时的文件名和文件目录,操作者不要随意单击“OK”按钮结束存盘,一定要填入正确的文件名并选择正确的工程目录后,才能单击“OK”按钮存盘,这是初学者上机实验时最容易忽略和出错的地方。图1 1位全加器原理图全加器的原理图文件包括两个层次的设计。半加器h_adder.gdf是底层设计文件,全加器f_
15、adder.gdf是顶层设计文件。在编译顶层文件之前要设置此文件为顶层文件,操作方法是先打开f_adder.gdf,执行“file”菜单下“project”的“set project to current file”命令即可。 完成图形文件编辑并存盘后,执行Quartus II的“Compiler”命令对设计文件进行编译,检查设计文件中的错误。如果设计文件不存在错误,则可以开始进一步对设计文件进行网表文件提取、设计文件排错、逻辑综合、逻辑分配、适配(结构综合)、时序仿真文件提取和编程下载文件装配等操作。在Quartus II集成环境下,执行“File”菜单中的“Create Default S
16、ymbol”命令,可为通过编译的图形设计文件产生一个元件符号,并被保存在工程目录中,该元件符号可以被其他电路系统设计调用,成为该系统的一个基本元件。其输入输出端口名由系统自动改为大写字母。3、仿真设计文件 在Quartus II波形编辑方式下,编辑f_addergdf的波形文件,并完成输入信号a、b和cin输入电平的设置。波形文件编辑结束后也要将波形文件保存在工程目录中,在存盘操作时,系统会自动将当前设计的文件名作为波形文件名,并以.scf为文件类型(例如1位全加器的波形文件是f_adder.scf,所以操作者可以直接单击“OK”按钮结束波形文件的存盘操作。波形文件存盘后,执行启动仿真器“Si
17、mulator”命令开始仿真,设计者可通过观察仿真波形进行设计电路的功能验证。4、4位加法器设计(设计深入) 4位加法器的设计中,全加器成为底层文件ain3.0和bin3.0是两个4位二进制输入端,cin是低位来得进位输入端sum3.0是4位和输出端,cout是高位进位的输出端。原理图如图2所示。图2 4位加法器原理图ain3.0的右边连接了一条粗的信号线,表示该信号与有ain3ain0文字标注的的四个全加器的ain输入端连接。同理bin3.0和sum3.0。粗线表示多条信号线组成的总线,细线表示单信号线。用鼠标左键单击信号线,使之变成红色,然后在红线上单击右键,选择“line style”命
18、令,然后选择相应的粗或细信号线即可。单击编辑窗口左边“A”按钮可以在信号线上添加文字标注。五、实验报告要求1、画出编译通过后的原理图2、绘出生成的元件符号。3、绘出仿真波形图4、实验结果分析实验三 译码器设计实验三 译码器设计一、实验目的1、学习Quartus工具软件的基本功能和使用方法2、通过实验掌握Verilog HDL文本输入语言和设计法,学习用Verilog HDL语言设计3线-8线译码器的方法3、掌握设计文本输入法的编辑、编译、仿真等操作方法二、实验仪器与设备 1、PC机 2、Quartus II 软件三、实验内容以Altera公司的Quartus II为工具软件,采用Verilog
19、 HDL文本输入设计法设计3线8线译码器,生成元件符号,并仿真验证和分析设计结果。3线8线译码器的真值表如图1所示。encbaY7Y6Y5Y4Y3Y2Y1Y00000111111100001111111010010111110110011111101110100111011110101110111110110101111110111011111111xxx11111111图1 3线8线译码器真值表四、实验原理与步骤1、编辑3线8线译码器的源程序设EN是低电平有效的使能控制输入端,a,b,c是数据输入端,Y7:0是8位数据输出端。3线8线译码器的Verilog HDL源代码如下:module d
20、ecoder3_8(a,b,c,y,ena);input a,b,c ,ena;output7:0 y;reg7:0 y;always beginif(ena = = 1) Y='b11111111;else case(c,b,a) 'b000: y='b11111110; 'b001: y='b11111101; 'b010: y='b11111011; 'b011: y='b11110111;'b100: y='b11101111; 'b101: y='b11011111; 'b
21、110: y='b10111111; 'b111: y='b 01111111; Default: y='b11111111;endcase endendmodule2、设计文件存盘和编译完成电路原理图的编辑后,以decoder3_8.v为文件名将3线8线译码器电路原理图设计文件保存在工程目录中,“.v”表示文本文件。完成文本文件编辑并存盘后,执行Quartus II的“Compiler”命令对设计文件进行编译,检查设计文件中的错误。如果设计文件不存在错误,则可以开始进一步对设计文件进行网表文件提取、设计文件排错、逻辑综合、逻辑分配、适配(结构综合)、时序仿真文
22、件提取和编程下载文件装配等操作。3、生成元件符号在Quartus II集成环境下,执行“File”菜单中的“Create Default Symbol”命令,可为通过编译的图形设计文件产生一个元件符号,并被保存在工程目录中,该元件符号可以被其他电路系统设计调用,成为该系统的一个基本元件。其输入输出端口名由系统自动改为大写字母。4、仿真设计文件 在Quartus II波形编辑方式下,编辑decoder3_8v的波形文件,并完成输入信号a、b、c和ena输入电平的设置。波形文件编辑结束后也要将波形文件保存在工程目录中,在存盘操作时,系统会自动将当前设计的文件名作为波形文件名,并以.scf为文件类型
23、,所以操作者可以直接单击“OK”按钮结束波形文件的存盘操作。波形文件存盘后,执行启动仿真器“Simulator”命令开始仿真,设计者可通过观察仿真波形进行设计电路的功能验证。五、实验报告要求1、写出编译通过后的源程序代码2、绘出生成的元件符号。3、绘出仿真波形图4、实验结果分析实验四 数据选择器设计实验四 数据选择器设计一、实验目的1、学习Quartus工具软件的基本功能和使用方法2、通过实验掌握Verilog HDL文本输入设计法、设计理念,学习用Verilog HDL语言设计16选1数据选择器的方法3、掌握设计文本输入法的编辑、编译、仿真等操作方法二、实验仪器与设备 1、PC机 2、Qua
24、rtus II 软件三、实验内容以Altera公司的Quartus II为工具软件,采用Verilog HDL文本输入设计法设计16选1数据选择器,生成元件符号,并仿真验证和分析设计结果。16选1数据选择器的功能表如图1所示。s10101010101010101s20011001100110011s30000111100001111s40000000011111111ZY0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y10Y11Y12Y13Y14Y15图1 16选1数据选择器功能表四、实验原理与步骤1、编辑161数据选择器的源程序161数据选择器的功能是在输入的信号控制下,选出16个数据中的一个。设s
25、1,s2,s3,s4是数据选择控制端,Y0Y7是16个待选数据,z是输出端。161数据选择器的Verilog HDL源代码如下:module datachoic16_1(s1,s2,s3,s4,z,Y);input s1,s2,s3,s4;input15:0 Y;output z;reg z;always begincase(s4,s3,s2,s1) 4'b0000: z=Y0;4'b0001: z=Y1;4'b0010: z=Y2;4'b0011: z=Y3;4'b0100: z=Y4;4'b0101: z=Y5;4'b0110: z=
26、Y6;4'b0111: z=Y7;4'b1000: z=Y8;4'b1001: z=Y9;4'b1010: z=Y10;4'b1011: z=Y11;4'b1100: z=Y12;4'b1101: z=Y13;4'b1110: z=Y14;4'b1111: z=Y15;default: z=0;endcase endendmodule2、设计文件存盘和编译完成编辑后,以datachoic16_1.v为文件名将电路原理图设计文件保存在工程目录中,“.v”表示文本文件。完成文本文件编辑并存盘后,执行Quartus II的“Co
27、mpiler”命令对设计文件进行编译,检查设计文件中的错误。如果设计文件不存在错误,则可以开始进一步对设计文件进行网表文件提取、设计文件排错、逻辑综合、逻辑分配、适配(结构综合)、时序仿真文件提取和编程下载文件装配等操作。3、生成元件符号在Quartus II集成环境下,执行“File”菜单中的“Create Default Symbol”命令,可为通过编译的图形设计文件产生一个元件符号,并被保存在工程目录中,该元件符号可以被其他电路系统设计调用,成为该系统的一个基本元件。其输入输出端口名由系统自动改为大写字母。4、仿真设计文件 在Quartus II波形编辑方式下,编辑161数据选择器v的波
28、形文件,并完成输入信号s1,s2,s3.,s4和Y输入电平的设置。波形文件编辑结束后也要将波形文件保存在工程目录中,在存盘操作时,系统会自动将当前设计的文件名作为波形文件名,并以.scf为文件类型,所以操作者可以直接单击“OK”按钮结束波形文件的存盘操作。波形文件存盘后,执行启动仿真器“Simulator”命令开始仿真,设计者可通过观察仿真波形进行设计电路的功能验证。五、实验报告要求1、写出编译通过后的原程序代码2、绘出生成的元件符号。3、绘出仿真波形图4、实验结果分析实验五 触发器设计实验五 触发器设计一、实验目的1、学习Quartus工具软件的基本功能和使用方法2、通过实验掌握Verilo
29、g HDL文本输入语言和设计法,学习用Verilog HDL语言设计JK触发器的方法3、掌握设计文本输入法的编辑、编译、仿真等操作方法二、实验仪器与设备1、PC机2、Quartus II 软件三、实验内容以Altera公司的Quartus II为工具软件,采用Verilog HDL文本输入设计法设计JK触发器,生成元件符号,并仿真验证和分析设计结果。四、实验原理与步骤 1、编辑下降沿触发的JK触发器源程序 设J和K是数据输入端;CLR是异步复位输入端,低电平有效; CLK是时钟输入端,下降沿有效;Q是触发器的输出端,QN是反相输出端。在Quartus II集成环境下,进入文本编辑方式,并在文本
30、框中编辑输入下降沿触发的JK触发器的Verilog HDL源程序。下降沿触发的JK触发器的Verilog HDL源程序如下: module jkff_v(j,k,clr,clk,q,qn); input j,k,clr,clk; output q,qn; reg q,qn; always (negedge clr or negedge clk) begin if(clr) begin q=0;qn=1; end else case(j,k) 2'b00: begin q=q; qn=qn; end 2'b01: begin q=0; qn=1; end 2'b10: b
31、egin q=1;qn=0; end2'b 11: begin q=q; qn=qn; enddefault begin q=0; qn=1; end endcaseend endmodule 2、设计文件存盘与编译: 完成下降沿触发的JK触发器的Verilog HDL源程序编辑后,以jkff_vv为文件名将下降沿触发的JK触发器的Verilog HDL设计文件保存在工程目录中。执行Quartus lI的“Compiler”,命令对设计文件进行编译。 在Quartus II集成环境下,执行“File"菜单中的“Create Default Symbol”命令,可以为JK触发器
32、设计文件生成一个元件符号。 3、仿真设计文件在Quartus II波形编辑方式下,编辑jkff_v.v的波形文件,并完成输入信号j、k、clr输入电平的设置。波形文件编辑结束后以jkff_vscf为文件名将波形文件保存在工程目录中。执行启动仿真器“Simulator”命令开始仿真,设计者可以通过仿真波形的观察和分析,验证设计电路的功能。六、实验报告要求1、写出编译通过后的原程序代码2、绘出生成的元件符号。3、绘出仿真波形图4、实验结果分析实验六 计数器设计实验六 计数器设计一、实验目的1、学习Quartus工具软件的基本功能和使用方法2、通过实验掌握Verilog HDL文本输入语言和设计法,
33、学习用Verilog HDL语言设计8位二进制加减计数器的方法3、掌握设计文本输入法的编辑、编译、仿真等操作方法二、实验仪器与设备1、PC机2、Quartus II 软件三、实验内容以Altera公司的Quartus II为工具软件,采用Verilog HDL文本输入设计法设计8位二进制加减计数器,生成元件符号,并仿真验证和分析设计结果。四、实验原理与步骤1、设计原理D7.0LOADENA Q7.0CLR COUTUPDOWN 图1 8位二进制加减计数器元件符号8位二进制加减计数器元件符号如图1所示,其中CLR是复位控制输入端,当CLR=0时,计数器被复位,8位计数器输出Q7.0=000000
34、00;ENA是使能控制输入端,当ENA=1时,计数器可进行加或减计数;LOAD是预置控制输入端,当LOAD=1且时钟CLK的上升沿到来时,计数器处于预置工作状态,Q7.0D7.0;D7.0是8位并行数据输入端;UPDOWN是加减控制输入端,当UPDOWN0时,计数器作加法操作,UPDOWN=1时,计数器作减法操作;COUT是进借位输出端,当UPDOWN=0(进行加法操作)且输出Q7.0=11111111时,COUT=1表示进位输出,而UPDOWN=1(进行减法操作)且输出Q7.0=00000000时,COUT=0表示借位输出。2、编辑8位二进制加减计数器Verilog HDL源程序如下modu
35、le updowncnt8(q,cout,d,load,ena,clk,clr,updown); input7:0 d; input load,ena,clk,clr,updown; output7:0 q;output cout;reg7:0 q; always (posedge clk) begin if(clr) q = b00000000; else if(load) q = d; else if(ena) if(updown) q=q+1; else q=q-1; endassign cout = (updown)?&q : |q; endmodule3、设计文件存盘与编译:
36、 完成8位二进制加减计数器的Verilog HDL源程序编辑后,以updowncnt8_vv为文件名将8位二进制加减计数器的Verilog HDL设计文件保存在工程目录中。执行Quartus II的“Compiler”,命令对设计文件进行编译。 在Quartus II集成环境下,执行“File”菜单中的“Create Default Symbol”命令,可以为8位二进制加减计数器设计文件生成一个元件符号。4、仿真设计文件在Quartus II波形编辑方式下,编辑updowncnt8_v.v的波形文件,并完成输入电平的设置。波形文件编辑结束后以updowncnt8_vscf为文件名将波形文件保存
37、在工程目录中。执行启动仿真器“Simulator”命令开始仿真,设计者可以通过仿真波形的观察和分析,验证设计电路的功能。五、实验报告要求1、写出编译通过后的原程序代码2、绘出生成的元件符号。3、绘出仿真波形图4、实验结果分析实验七 计数译码系统电路设计实验七 计数译码系统电路设计一、实验目的1、学习Quartus工具软件的基本功能和使用方法2、通过实验掌握Verilog HDL文本输入语言和原理图输入法的综合设计能力,学习层次化设计8位计数译码系统电路的方法3、掌握用结构描述实现电路系统设计。二、实验仪器与设备1、PC机2、Quartus II 软件三、实验内容以Altera公司的Quartu
38、s II为工具软件,采用Verilog HDL文本输入设计法,用模块例化方式设计8位计数译码器电路系统,并仿真验证和分析设计结果。四、实验原理与步骤1、设计原理模块例化语句格式与逻辑门例化语句格式相同,具体为 设计模块名例化电路名(端口列表); 其中,“例化电路名”是用户为系统设计定义的标识符,相当于系统电路板上为插入设计模块元件的插座,而端口列表相当于插座上引脚名表,应与设计模块的输入输出端口一一对应。 在8位计数译码系统电路设计中,需要事先设计一个4位二进制加法计数器cnt4e模块和一个七段数码显示器的译码器dec7s模块,然后用模块例化方式将这两种模块组成计数译码系统电路。2、4位二进制
39、加法计数器cnt4e的设计cnt4e的元件符号如图1所示,CLK是时钟输入端;CLR是复位控制输入端,当CLR=1时计数器被复位,输出Q3.0=0000;ENA是使能控制输入端,当ENA=1时,计数器才能工作;COUT是进位输出端,当输出Q3.0=1111时,COUT=1。 cnt4eCLK COUTCLR Q3.0ENA 图1 4位二进制加法计数器元件符号Cnt4e的Verilog HDL源程序如下:module cnt4e(clk,clr,ena,cout,q); input clk,clr,ena; output3:0 q; output cout; reg3:0 q; always (
40、posedge clr or posedge clk) begin if (clr) q='b0000; else if (ena) q=q+1; end assign cout=&q;endmodule3、七段数码显示器的译码器dec7s的设计 DEC7s的元件符号如图2所示,A3.0是4数据输入端,将接至cnt4e的输出端Q3.0;Q7.0是译码器的输出端,提供七段数码显示数据。 dec7sA3.0 Q3.0图2 七段数码显示器的译码器的元件符号Dec7s的Verilog HDL源程序如下:module Dec7s(a,q);input3:0 a;output7:0 q;r
41、eg7:0 q; always(a) begin case(a) 0: q=8'b00111111; 1: q=8'b00000110; 2: q=8'b01011011; 3: q=8'b01001111; 4: q=8'b01100110; 5: q=8'b01101101; 6: q=8'b01111101; 7: q=8'b00000111; 8: q=8'b01111111; 9: q=8'b01101111; 10: q=8'b01110111; 11: q=8'b01111100; 1
42、2: q=8'b00111001; 13: q=8'b01011110; 14: q=8'b01111001; 15: q=8'b01110001; endcase endendmodule4、计数译码系统电路的设计 计数译码系统电路的结构图如图3所示,它是用Quartus II的图形编辑方式设计出来的。其中u1和u2是两个cnt4e元件的例化模块名,相当于cnt4e系统电路板上的插座;u3和u4是dec7s元件的例化模块名,相当于dec7s在系统电路板上的插座。x, q1、q2是电路中的连线。module cnt_dec_ml (clk,clr,ena,cou
43、t,q);input clk,clr,ena;output15:0 q;output cout;reg 15:0 q;wire3:0 q1,q2;wire x;cnt4e u1(clk,clr,ena,x,q1);cnt4e u2(clk,clr,x,cout,q2);dec7s u3(q1,q7:0);dec7s u4(q2,q15:8);endmodule 图3 计数译码系统电路的结构图5、设计文件存盘与编译: 完成8位二进制加减计数器的Verilog HDL源程序编辑后,设计文件保存在工程目录中。执行Quartus II的“Compiler”,命令对设计文件进行编译。 在Quartus
44、II集成环境下,执行“File”菜单中的“Create Default Symbol”命令,可以为计数译码系统电路设计文件生成一个元件符号。6、仿真设计文件在Quartus II波形编辑方式下,编辑电路的波形文件,并完成输入电平的设置。波形文件编辑结束后将波形文件保存在工程目录中。执行启动仿真器“Simulator”命令开始仿真,设计者可以通过仿真波形的观察和分析,验证设计电路的功能。五、实验报告要求1、 写出各个部分编译通过后的源程序代码2、 绘出计数译码系统电路的结构图3、 绘出生成的元件符号。4、 绘出仿真波形图5、 实验结果分析实验八 BCD数加法系统电路设计实验八 BCD数加法系统电
45、路设计一、实验目的1、学习Quartus工具软件的基本功能和使用方法。2、通过实验掌握Verilog HDL的设计流程。3、学习层次化设计BCD数加法系统电路的方法。二、实验设备1、PC机2、Quartus II 软件三、实验内容以Altera公司的Quartus II为工具软件,采用Verilog HDL文本输入设计法,设计BCD数加法系统电路,并仿真验证和分析设计结果。通过实验掌握Verilog HDL的设计流程。四、实验步骤1、设计原理BCD数加法系统电路的设计包括BCD_Adder.v, BCD_Dec.v和TOP. gdf三个模块,其中BCD_Adder.v和BCD_Dec.v是用V
46、erilog HDL编写的BCD加法器和共阴极七段显示译码器源程序,TOP. gdf则是以原理图输入法设计的顶层文件。在TOP. gdf原理图中以BCD_Adder.v和BCD_Dec.v作为元件,设计一个BCD数加法器电路。2、编辑VerilogHDL源程序 首先为设计建立一个工程目录,如D : myedamyverilog, 然后在Quartus II集成环境下,打开一个新文件,并进入Verilog HDL文本编辑方式(Text Editor file)。进入文本编辑方式。 编辑BCD数加法器的Verilog HDL源程序进入文本编辑方式后,编辑BCD数加法器的VerilogHDL源程序,
47、并以BCD_dder. v为源程序的文件名,保存在D : myedamyverilog工程目录中,后缀为.v表示VerilogHDL源程序文件。注意:Verilog HDL源程序的文件名应与设计模块名相同,否则将是一个错误,无法通过编译。BCD数加法器的BCD_Adder.v源程序如下:module BCD_adder(a,b,cin,sum,cout);input3:0 a,b;input cin;output3:0 sum;output cout;reg cout;reg3:0 sum;always (a or b or cin) begin cout,sum=a+b+cin; if(co
48、ut,sum>'b01001) cout,sum=sum+4'b0110; endendmodule完成BCD数加法器源程序的编辑后,用BCD_Adder.v文件名存盘,然后在Quartus II集成环境下,用“File”菜单下的“Create Default Symbol”命令对BCD_Adder.v进行编译。如果源程序中不存在语法错误,编译后生成BCD_Adder元件图形符号,如图1所示。在图中,细的输入输出线表示单信号线,如CIN和COUT;粗的输入输出线表示多信号总线,如A3.0、B 3.0和SUM3.0。为了验证设计电路的正确性,可以对BCD_Adder.v进行
49、仿真。A3.0 SUM3.0B3.0 COUTCIN图1 BCD数加法器元件符号编辑七段显示译码器源程序在文本编辑方式下,编辑七段显示译码器的源程序,并以BCD_Dec.v为源程序名,保存在工程目录中。BCD_Dec.v源程序如下:module BCD_Dec7(a,q); input 3:0 a; output 7:0 q; reg 7:0 q; always (a) begin case(a) 4'b0000:q<=8b00111111; 4'b0001:q<=8'b00000110; 4'b0010:q<=8'b01011011;
50、 4'b0011:q<=8'b01001111; 4'b0100:q<=8'b01100110; 4'b0101:q<=8'b01101101; 4'b0110:q<=8'b01111101; 4'b0111:q<=8'b00000111; 4'b1000:q<=8'b01111111; 4'b1001:q<=8'b01101111; 4'b1010:q<=8'b01110111; 4'b1011:q<=8'b01111100; 4'b1100:q<=8'b00011100; 4'b1101:q<=8'b01011110; 4'b1110:q<=8'b01111001; 4'b1111:q<=8'b01110001;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 场地借用合同书范本2篇
- 特殊LED汽买卖合同2篇
- 入门场景速写课件
- 健康洗浴知识培训总结课件
- 例行安全培训包含课件
- 霍城县疫情管理办法
- 饮用水池管理员合同范本4篇
- 企业生产手部安全培训课件
- 网络宗教事物管理办法
- 纠纷合同管理暂行办法
- 2025年监察员笔试高频题彩票执法
- 2025广东中山大学附属第一医院惠亚医院事业编制人员招聘37人(第二批次)笔试备考试题及答案解析
- 校服专业知识培训内容课件
- 2025年生物制药靶点发现与验证技术临床试验监管政策报告
- 2025年全国质量月数智驱动筑基强链创新质量生态宣传
- 2025海航航空食品(北京)有限公司招聘260人笔试参考题库附答案解析
- 电路维修安全知识培训课件
- 炼铜厂安全知识培训课件
- 2025至2030中国压力袜(弹性袜)行业项目调研及市场前景预测评估报告
- 2026届新高考历史热点冲刺复习秦统一多民族封建国家的建立
- 2025年小学一年级新生家长会
评论
0/150
提交评论