最终 EDA上机指导书Word下载.docx
- 文档编号:18644094
- 上传时间:2022-12-30
- 格式:DOCX
- 页数:24
- 大小:98.04KB
最终 EDA上机指导书Word下载.docx
《最终 EDA上机指导书Word下载.docx》由会员分享,可在线阅读,更多相关《最终 EDA上机指导书Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
5.实验结果与分析
目录
实验一半加器设计1
实验二全加器设计5
实验三译码器设计8
实验四数据选择器设计11
实验五触发器设计14
实验六计数器设计16
实验七计数译码系统电路设计19
实验八BCD数加法系统电路设计24
实验一半加器设计
1、学习MAX+plusⅡ工具软件的基本功能和使用方法。
2、学习使用原理图输入法设计半加器,掌握原理图输入法的操作步骤。
3、初步掌握设计电路原理图的编辑、编译、仿真等操作方法。
二、实验仪器与设备
1、PC机
2、MAX+plusII软件
三、实验内容
以Altera公司的MAX+plusII为工具软件,采用原理图输入法设计半加器h_adder,生成元件符号,并仿真验证设计结果。
四、实验原理与步骤
1、元件选择
在MAX+plusII工具软件的元件库中已经有与门、或门、与非门和异或门等元件,在设计中可直接调用这些元件,实现电路设计。
图1半加器原理图
在元件选择对话框的符号库“SymbolLibraries”栏目中,用鼠标双击基本元件库文件夹“d:
\maxplus2\max2lib\prim”后,在符号文件“SymbolFiles”栏目中列出了该库的基本元件的元件名,例如and2(二输入端的与门)、xor(异或门)、VCC(电源)、input(输入)和output(输出)等。
在元件选择对话框的符号名“SymbolName”栏目内直接输入xor,或者在“SymbolFiles”栏目中,用鼠标双击“xor”元件名,即可得到异或门的元件符号。
用上述同样的方法也可以得到其他元件符号。
2、编辑半加器的原理图
半加器逻辑电路图如图1所示,它由1个异或门和1个与门构成,a、b是输入端,SO是和输出端,CO是向高位的进位输出端。
在元件选择对话框的符号名“SymbolName”栏目内直接输入xor,或者在“SymbolFiles”栏目中,用鼠标双击“xor”元件名,即可得到异或门的元件符号。
用上述同样的方法也可以得到与门及输入端和输出端的元件符号。
用鼠标双击输入或输出元件中原来的名称,使其变黑后就可以进行名称修改,用这种方法把两个输入端的名称分别更改为“a”和“b”,把两个输出端的名称分别更改为“SO”和“CO”,然后按照图1所示的半加器逻辑电路的连接方式,用鼠标将相应的输入端和输出端及电路内部连线连接好,并以“h_adder.gdf”(注意后缀是.gdf)为文件名,存在自己建立的工程目录d:
\myeda\mygdf内。
进行存盘操作时,系统在弹出的存盘操作对话框中,自动保留了上一次存盘时的文件名和文件目录,不要随意单击“OK”按钮结束存盘,一定要填入正确的文件名并选择正确的工程目录后,才能单击“OK”按钮存盘,这是上机实验时最容易忽略和出错的地方。
3、编译设计图形文件
设计好的图形文件一定要通过MAX+plusII的编译。
在MAX+plusII集成环境下,执行“MAX+plus”菜单下的“Compiler”命令,在弹出的编译对话框中单击“Start”按钮,即可对h_adder.gdf文件进行编译。
在编译中,MAX+plusII自动完成编译网表提取(CompilerNetlistExtractor)、数据库建立(DatabaseBuilder)、逻辑综合(LogicSynthesizer)、逻辑分割(Partitioner)、适配(Fitter)、延时网表提取(TimingSNFExtractor)和编程文件汇编(Assembler)等操作,并检查设计文件是否正确。
存在错误的设计文件是不能将编译过程进行到底的,此时计算机会中断编译,并在编译(Compiler)对话框中指出错误类型和个数。
4、生成元件符号
在MAX+plusII集成环境下,执行“File”菜单下的“CreateDefaultSymbol”命令,将通过编译的GDF文件生成一个元件符号,并保存在工程目录中。
这个元件符号可以被其他图形设计文件调用,实现多层次的系统电路设计。
5、功能仿真设计文件
仿真,也称为模拟(Simulation);
是对电路设计的一种间接的检测方法。
对电路设计的逻辑行为和功能进行模拟检测,可以获得许多设计错误及改进方面的信息。
对于大型系统的设计,能进行可靠、快速、全面的仿真尤为重要。
①建立波形文件
进行仿真时需要先建立仿真文件。
在Max+p1usII环境执行“File”的“New”命令,再选择弹出的对话框中的WaveformEditorfi1e项,波形编辑窗口即被打开。
②输入信号节点
在波形编辑方式下,执行“Node”的“NodesfromSNF”命令,弹出输入节点“EnterNodesfromSNF”对话框,在对话框中首先单击“List”按钮,这时在对话框左边的“AvailableNodes&Groups”(可利用的节点与组)框中将列出该设计项目的全部信号节点。
若在仿真中只需要观察部分信号的波形,则首先用鼠标将选中的信号名点黑,然后单击对话框中间的“=>
”按钮,选中的信号即进入到对话框右边的“SelectedNodes&Groups”(被选择的节点与组)框中。
如果需要删除“被选择的节点与组”框中的节点信号,也可以用鼠标将其名称点黑,然后单击对话框中间的“<
="
按钮。
节点信号选择完毕后,单击“OK”按钮即可。
③设置波形参量
在波形编辑对话框中调入了半加器的所有节点信号后,还需要为半加器输入信号a和b设定必要的测试电平等相关的仿真参数。
如果希望能够任意设置输入电平位置或设置输入时钟信号的周期,可以在Options选项中,取消网格对齐SnaptoGrid的选择(取消钩)。
④设定仿真时间宽度
在仿真对话框,默认的仿真时间域是1μS。
如果希望有足够长的时间观察仿真结果,可以选择“File”命令菜单中的“EndTime”选项,在弹出的“EndTime”对证框中,填入适当的仿真时间域(如5μS)即可。
⑤加入输入信号
为输入信号a和b设定测试电平的方法及相关操作如教材图2.1.3所示,利用必要的功能键为a和b加上适当的电平,以便仿真后能测试so和co输出信号。
⑥波形文件存盘
以“h_adder.scf”(注意后缀是.scf)为文件名,存在自己建立的工程目录d:
在波形文件存盘时,系统将本设计电路的波形文件名自动设置为“h_adder.scf”,因此可以直接单击确定按钮。
⑦进行仿真
波形文件存盘后,执行“Max+p1usII”选项中的仿真器“Simulator”命令,单击弹出的“仿真开始”对话框中的“Start”按钮,即可完成对半加器设计电路的仿真,可通过观察仿真波形进行设计电路的功能验证。
五、实验报告要求
1、画出编译通过后的原理图
2、绘出生成的元件符号
3、绘出仿真波形图
4、实验结果分析
实验二全加器设计
2、学习使用原理图输入法层次化设计全加器的方法。
3、掌握设计电路原理图的编辑、编译、仿真等操作方法。
以Altera公司的MAX+plusII为工具软件,采用层次化原理图输入法设计1位全加器f_adder,生成元件符号,并仿真验证设计结果。
在此基础上设计4位加法器。
1、编辑1位全加器的原理图
1位全加器可以用两个半加器及一个或门连接而成。
其原理图如图1所示。
在MAX+plusII图形编辑方式下,在用户目录中找到自己设计的半加器元件h_adder,并把它调入原理图编辑框中(调入两个),另外从d:
\maxplus2\max2lib\prim元件库中调出一个两输入端的或门,并加入相应的输入和输出元件,按照图1所示电路连线,得到1位全加器电路的设计结果。
电路中的a和b是两个1位二进制加数输入,cin是低位来的进位输入,sum是和输出,cout是向高位进位输出。
2、设计文件存盘与编译
完成1位全加器电路原理图的编辑后,以f_adder.gdf为文件名将1位全加器电路原理图设计文件保存在工程目录中,“.gdf”表示图形文件。
进行存盘操作时,系统在弹出的存盘操作对话框中,自动保留了上一次存盘时的文件名和文件目录,操作者不要随意单击“OK”按钮结束存盘,一定要填入正确的文件名并选择正确的工程目录后,才能单击“OK”按钮存盘,这是初学者上机实验时最容易忽略和出错的地方。
图11位全加器原理图
全加器的原理图文件包括两个层次的设计。
半加器h_adder.gdf是底层设计文件,全加器f_adder.gdf是顶层设计文件。
在编译顶层文件之前要设置此文件为顶层文件,操作方法是先打开f_adder.gdf,执行“file”菜单下“project”的“setprojecttocurrentfile”命令即可。
完成图形文件编辑并存盘后,执行MAX+plusII的“Compiler”命令对设计文件进行编译,检查设计文件中的错误。
如果设计文件不存在错误,则可以开始进一步对设计文件进行网表文件提取、设计文件排错、逻辑综合、逻辑分配、适配(结构综合)、时序仿真文件提取和编程下载文件装配等操作。
在MAX+plusII集成环境下,执行“File”菜单中的“CreateDefaultSymbol”命令,可为通过编译的图形设计文件产生一个元件符号,并被保存在工程目录中,该元件符号可以被其他电路系统设计调用,成为该系统的一个基本元件。
其输入/输出端口名由系统自动改为大写字母。
3、仿真设计文件
在MAX+plusII波形编辑方式下,编辑f_adder.gdf的波形文件,并完成输入信号a、b和cin输入电平的设置。
波形文件编辑结束后也要将波形文件保存在工程目录中,在存盘操作时,系统会自动将当前设计的文件名作为波形文件名,并以.scf为文件类型(例如1位全加器的波形文件是f_adder.scf),所以操作者可以直接单击“OK”按钮结束波形文件的存盘操作。
波形文件存盘后,执行启动仿真器“Simulator”命令开始仿真,可通过观察仿真波形进行设计电路的功能验证。
4、4位加法器设计(设计深入)
4位加法器的设计中,全加器成为底层文件ain[3..0]和bin[3..0]是两个4位二进制输入端,cin是低位来得进位输入端,sum[3..0]是4位和输出端,cout是向高位进位的输出端。
原理图如图2所示。
图24位加法器原理图
ain[3..0]的右边连接了一条粗的信号线,表示该信号与有ain[3]~ain[0]文字标注的4个全加器的ain输入端连接。
同理bin[3..0]和sum[3..0]。
粗线表示多条信号线组成的总线,细线表示单信号线。
用鼠标左键单击信号线,使之变成红色,然后在红线上单击右键,选择“linestyle”命令,然后选择相应的粗或细信号线即可。
单击编辑窗口左边“A”按钮可以在信号线上添加文字标注。
实验三译码器设计
2、通过上机实验掌握VerilogHDL文本输入语言和设计法,学习用VerilogHDL语言设计3线-8线译码器的方法。
3、掌握设计文本输入法的编辑、编译、仿真等操作方法。
以Altera公司的MAX+plusII为工具软件,采用VerilogHDL文本输入设计法设计3线-8线译码器,生成元件符号,并仿真验证和分析设计结果。
设ENA是低电平有效的使能控制输入端,C,B,A是数据输入端,Y7~Y0是输出端。
3线-8线译码器的功能表如表1所示。
表13线-8线译码器功能表
ENA
C
B
A
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
1
x
1、编辑3线-8线译码器的源程序
3线-8线译码器的VerilogHDL源代码如下:
moduledecoder(a,b,c,ena,y);
inputa,b,c,ena;
output[7:
0]y;
reg[7:
always
begin
if(ena==1)y='
b11111111;
else
case({c,b,a})
'
b000:
y='
b11111110;
'
b001:
b11111101;
b010:
b11111011;
b011:
b11110111;
'
b100:
b11101111;
b101:
b11011111;
b110:
b10111111;
b111:
b01111111;
default:
endcase
end
endmodule
2、设计文件存盘和编译
完成3线-8线译码器的文本编辑后,以decoder.v为文件名将设计文件保存在工程目录中,“.v”表示VerilogHDL源程序文件。
注意:
VerilogHDL源程序的文件名应与设计模块名相同,否则将是一个错误,无法通过编译。
完成文本文件编辑并存盘后,执行MAX+plusII的“Compiler”命令对设计文件进行编译,检查设计文件中的错误。
3、生成元件符号
在MAX+plusII集成环境下,执行“File”菜单中的“CreateDefaultSymbol”命令,可为通过编译的设计文件产生一个元件符号,并被保存在工程目录中,该元件符号可以被其他电路系统设计调用,成为该系统的一个基本元件。
其输入/输出端口名由系统自动改为大写字母。
4、仿真设计文件
在MAX+plusII波形编辑方式下,编辑3线-8线译码器的波形文件,并完成输入信号a、b、c和ena输入电平的设置。
波形文件编辑结束后也要将波形文件保存在工程目录中,在存盘操作时,系统会自动将当前设计的文件名作为波形文件名,并以.scf为文件类型,所以可以直接单击“OK”按钮结束波形文件的存盘操作。
1、写出编译通过后的源程序代码
实验四数据选择器设计
2、通过上机实验掌握VerilogHDL文本输入语言和设计法,学习用VerilogHDL语言设计16选1数据选择器的方法。
以Altera公司的MAX+plusII为工具软件,采用VerilogHDL文本输入设计法设计16选1数据选择器,生成元件符号,并仿真验证和分析设计结果。
16选1数据选择器的功能,是在输入的信号控制下,选出16个数据中的一个作为输出。
设ENA是低电平有效的使能控制输入端,S0,S1,S2,S3是数据选择控制端,A0~A15是16个待选数据,Y是输出端。
16选1数据选择器的功能表如表1所示。
表116选1数据选择器功能表
S0
×
S1
S2
S3
Y
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
1、编辑16选1数据选择器的源程序
16选1数据选择器的VerilogHDL源代码如下:
modulemux16_1(a,s3,s2,s1,s0,ena,y);
inputs3,s2,s1,s0,ena;
input[15:
0]a;
outputy;
regy;
if(ena==1)y=0;
case({s3,s2,s1,s0})
b0000:
y=a[0];
b0001:
y=a[1];
b0010:
y=a[2];
b0011:
y=a[3];
b0100:
y=a[4];
b0101:
y=a[5];
4'
b0110:
y=a[6];
b0111:
y=a[7];
b1000:
y=a[8];
b1001:
y=a[9];
b1010:
y=a[10];
b1011:
y=a[11];
b1100:
y=a[12];
b1101:
y=a[13];
b1110:
y=a[14];
b1111:
y=a[15];
default:
y=0;
完成16选1数据选择器的文本编辑后,以mux16_1.v为文件名将设计文件保存在工程目录中,“.v”表示VerilogHDL源程序文件。
在MAX+plusII波形编辑方式下,编辑16选1数据选择器的波形文件,并完成输入信号s0,s1,s2,s3和a输入电平的设置。
1、写出编译通过后的原程序代码
2、绘出生成的元件符号。
实验五触发器设计
1、学习MAX+plusⅡ工具软件的基本功能和使用方法
2、通过上机实验掌握VerilogHDL文本输入语言和设计法,学习用VerilogHDL语言设计JK触发器的方法
3、掌握设计文本输入法的编辑、编译、仿真等操作方法
以Altera公司的MAX+plusII为工具软件,采用VerilogHDL文本输入设计法设计JK触发器,生成元件符号,并仿真验证和分析设计结果。
设J和K是数据输入端;
CLR是异步复位输入端,低电平有效;
CLK是时钟输入端,下降沿有效;
Q是触发器的输出端,QN是反相输出端。
1、编辑下降沿触发JK触发器源程序
在MAX+plusII集成环境下,进入文本编辑方式,并在文本框中编辑时钟输入下降沿触发JK触发器的VerilogHDL源程序。
下降沿触发JK触发器的VerilogHDL源程序如下:
modulemyjkff(j,k,clr,clk,q,qn);
inputj,k,clr,clk;
outputq,qn;
regq,qn;
always@(negedgeclrornegedgeclk)
begin
if(~clr)beginq=0;
qn=1;
end
else
case({j,k})
'
b00:
beginq=q;
qn=qn;
b01:
beginq=0;
qn=1;
b10:
beginq=1;
qn=0;
b11:
beginq=~q;
qn=~qn;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最终 EDA上机指导书 EDA 上机 指导书