实验.docx
- 文档编号:9831293
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:23
- 大小:55.91KB
实验.docx
《实验.docx》由会员分享,可在线阅读,更多相关《实验.docx(23页珍藏版)》请在冰豆网上搜索。
实验
实验一简单逻辑电路设计与仿真
一、实验目的
1、学习并掌握MAX+PLUSⅡCPLD开发系统的基本操作。
2、学习在MAX+PLUSⅡ下设计简单逻辑电路与功能仿真方法。
二、实验仪器设备
1、PC机一台
2、MAX+PLUSⅡCPLD软件开发系统一套。
三、实验要求
1、预习教材中的相关内容。
2、阅读并熟悉本次实验的内容。
3、用图形输入方式完成电路设计。
4、分析器件的延时特性。
四、实验内容
1、用D触发器设计一个4进制加法计数器并进行功能仿真。
(1)设计1个时钟脉冲输入端CP,取名为in0;
(2)设置2个计数状态输出端Q1、Q0,取名为out1、out0;
(3)按二进制加法规律计数;
(4)进行电路功能仿真与验证。
2、设计一个2-4线译码器并进行静态功能仿真。
(1)2个输入端,in0和in1;
(2)4个输出端,out0至out3;
(3)电路功能真值表如下,输出为高电平有效:
in1
in0
out0
out1
out2
out3
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
(4)进行电路功能静态测试与验证。
五、实验操作步骤
(一)4进制加法计数器设计与仿真
1、开机,进入MAX+PLUSⅡCPLD开发系统。
2、在File菜单的Project子菜中选Name项,出现ProjectName对话框。
为当前的实验选择恰当的路径并创建项目名称。
3、在File菜单中选New项,出现new对话框,选择GraphicEditorFile输入方式,出现图形编辑窗口。
4、双击空白编辑区,出现EnterSymbol对话框。
从SymbolLibraries项中选择mf子目录(双击),然后在SymbolFile中选择7474元件(双D触发器);在prim子目录中选择输入脚input和输出引脚output。
(或直接在SymbolName中输入所需元件的名称,回车即可)
5、在图形编辑窗口中的左侧点击连线按钮(drawsahorizontalorverticalline),完成电路的连线。
在引脚的PIN_NAME处左键双击使之变黑,键入引脚名称。
(参考电路如图1-1)
图1-14进制加法计数器
6、点击工具栏中的“changetheprojectnametothenameofthecurrentfile”按钮,使项目名称与当前设计文件相同。
7、选择器件。
点击Assign菜单的Device项,选择ACEX1K系列的EPF1K30QC208-3。
8、点击File菜单Project子菜单之saveandcheck项对文件进行存盘并进行语法检查,然后点击START按钮进行编译。
9、点击MAX+PLUSⅡ菜单WaveformEditor子菜单出现WaveformEditor窗口。
点击Node菜单选择EnterNodesFromSNF子菜单,在EnterNodesFromSNF对话框中点击List按钮、“=>”按钮和Ok按钮,填入电路节点名称。
10、在时钟输入端in0处设置好方波脉冲,点击仿真按钮,进行波形仿真以验证电路的逻辑功能。
11、点击Utilities主菜单中的AnalyzeTiming子菜单,进行信号延迟时间分析,估算工作速度。
12、本次实验暂不进行芯片下载操作。
(二)、设计一个2-4译码器并进行静态功能仿真。
首先确定2-4线译码器的逻辑线路图,如图1-2所示。
图1-22-4译码器
1、点击File菜单project子菜单的Name项建立一个新的项目。
2、点击New按钮,选GraphicEditor项新建一个图形输入文件。
3、双击左键,在EnterSymbol框中SymbolLibraries中双击prim,在SymbolFiles中选用7474。
4、点击连线按钮(drawsahorizontalorverticalline),完成电路连线,双击PIN_NAME为引脚命名。
5、点击工具栏中的“changetheprojectnametothenameofthecurrentfile”按钮,使项目名称与当前设计文件相同。
6、选择器件。
点击Assign菜单的Device项,选择ACEX1K系列的EPF1K30QC208-3。
7、点击File菜单Project子菜单之saveandcheck项对文件进行存盘并进行语法检查,然后点击START按钮进行编译。
8、打开波形仿真窗口,为输入端设定‘0’、‘1’静态电平,点击仿真按钮,对电路进行仿真。
9、从波形图上观察输出端的静态输出,分析仿真结果。
10、本次实验暂不进行芯片下载操作。
六、实验报告
1、总结用MAX+PLUSⅡCPLD开发系统对逻辑电路进行设计、仿真的操作步骤。
2、讨论用CPLD开发系统进行逻辑电路设计的特点与优越性。
3、讨论自己在设计过程中遇到的问题、解决的过程以及收获体会。
实验二译码与寄存器电路设计与仿真
一、实验目的
1、掌握MAX+PLUSⅡCPLD开发系统的操作技巧。
2、掌握用MAX+PLUSⅡ进行一般数字逻辑电路的设计方法。
3、学习CPLD芯片下载与实验基本方法。
4、熟悉KHF-4型CPLD实验/开发系统的基本结构。
5、掌握使用KHF-4型CPLD实验/开发系统的LED显示的方法。
二、实验仪器设备
1、PC机一台
2、MAX+PLUSⅡCPLD开发系统一套
3、KHF-4型CPLD实验/开发系统一套
4、CPLDDN-3型下载软件一套
三、实验要求
1、预习教材相关内容。
2、阅读并熟悉本次实验的内容。
3、用图形输入方式完成电路设计。
4、完成从设计输入到下载的全部设计过程。
5、预习CPLDEE-3型系统下载界面及使用方法。
四、实验内容及步骤
1、设计一个BCD译码器,进行功能仿真及下载测试。
图2-1BCD译码器
(1)用图形编辑方法完成电路的输入,以及管脚命名等,具体步骤参照实验一有关部分。
(参考电路如图4-1)
(2)存盘与编译。
(3)点击Assign菜单的Device项选择EPF1K100QC208-3型的芯片。
(4)点击floorplaneditor按钮进行管脚分配。
(5)后编译。
对电路进行编译。
(6)下载。
启动CPLDDN-3下载软件,在项目目录下选中文件,点击“下载CPLD”按钮,观察、验证实验电路的正确性。
2、串入并出移位寄存器电路设计、仿真与下载
(1)用图形编辑方法完成电路的输入,以及管脚命名等。
(参考电路如图2-2)
(2)点击File菜单Project子菜单之saveandcheck项对电路进行编译。
图2-2串入并出移位寄存器
(3)点击Assign菜单的Device项选择芯片。
(4)脚分配。
(5)后编译。
对电路进行编译。
(6)下载。
启动CPLDDN-3下载软件,在项目目录下选中文件,点击“下载CPLD”按钮进行下载,观察、验证实验电路的正确性。
五、实验报告
1、总结进行CPLD电路设计与仿真的操作步骤和技巧。
2、总结进行CPLD电路下载和硬件实验的方法和步骤。
3、讨论在设计与实验过程中遇到的问题、解决的办法及收获。
实验三全加器设计、仿真与下载
一、实验目的
1、熟练掌握MAX+PLUSⅡ的使用。
2、掌握一位全加器的设计方法、学会用一位全加器组成四位全加器。
3、掌握KHF-4型CPLD实验/开发系统硬件电路的下载及测试。
4、学习模块化电路设计方法。
二、实验仪器设备
1、PC机一台
2、MAX+PLUSⅡCPLD开发系统一套
3、KHF-4型CPLD实验/开发系统一套
4、CPLDDN-3型下载软件一套
三、实验要求
1、预习组合电路中一位、四位全加器的设计方法。
2、预习KHF-4型CPLD实验/开发系统(硬件电路)中的开关及发光管的使用方法。
3、预习本次实验内容。
4、用图形编辑方法输入电路。
四、实验内容及操作步骤
(一)设计一位全加器
(1)完成电路的输入,以及对引脚的命名等。
(参考电路如图3-1)
图3-1一位全加器线路图
(2)对一位全加器进行编译、仿真与下载。
(3)点击File菜单的CreateDefaultSymbol项,创建缺省模块。
(二)利用一位全加器模块进行四位全加器的设计。
(1)创建一个新的项目,新建文件。
在新打开的图形编辑区双击左键,从EnterSymbol对话框中的用户目录(创建的目录)下选择模块名。
(2)连接线路,并进行编译。
(如图3-2)
(3)选择EPF10K10QC208-4器件。
(4)管脚分配。
图3-2四位全加器
(5)后编译,并进行下载。
观察实验结果。
五.实验报告
1、总结模块化电路设计的方法。
2、总结MAX+PLUSⅡ进行电路设计的实质。
3、总结用MAX+PLUSⅡ进行电路设计的一般步骤。
实验四分频电路与12归1电路设计
一、实验目的
1、学习硬件描述语言描述电路的原理。
2、学习分频电路的设计算法。
3、学会使用AHDL进行简单的电路设计。
4、学会使用VHDL进行简单的电路设计。
5、掌握生成include文件并调用的方法。
6、掌握VHDL语言调用子程序的方法。
二、实验仪器
1、PC机一台
2、MAX+PLUSⅡCPLD开发系统一套
3、KHF-4型CPLD实验/开发系统一套
4、CPLDDN-3型下载软件一套
三、实验要求
1、复习教材有关硬件描述语言的章节。
2、预习实验内容。
3、用硬件描述语言进行电路设计。
4、下载并用数码管显示结果。
四、实验内容与步骤
1、设计一个频电路
已知cpld信号源脉冲频率为10M,试编写一分频程序,得到一周期为1秒(频率为1Hz)的脉冲频率,并将之形成include文件。
(1)AHDL设计输入。
参考程序如下:
subdesignfp
(inclk:
input;
outputf:
output;)
variable
fp[23..0]:
dff;
f:
dff;
begin
fp[].clk=inclk;f.clk=inclk;
iffp[]==4999999then
fp[]=0;
f=!
f;
else
fp[]=fp[]+1;
f=f;
endif;
outputf=f;
end;
(2)VHDL设计输入参考程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityfpis
port(inclk:
instd_logic;
outputa:
outstd_logic);
endfp;
architecturearch_fpoffpis
signalfp:
std_logic_vector(23downto0);
signalf:
std_logic;
begin
process(inclk)
begin
if(inclk'eventandinclk='1')then
iffp=4999999then
fp<="000000000000000000000000";
f<=notf;
elsefp<=fp+1;
endif;
endif;
endprocess;
outputa<=f;
endarch_fp;
(3)编译与仿真。
(4)点击File菜单Createdefaultincludefile项创建include文件,生成fp.inc文件。
要求:
自己设计,试用AHDL与VHDL编写一10分频程序,并创建include文件。
实验六利用硬件描述语言进行数字钟设计
一、实验目的
1、进一步学习用硬件描述语言进行电路设计的方法。
2、掌握初步设计比较复杂电路的方法。
二、实验仪器
1、PC机一台
2、MAX+PLUSⅡCPLD开发系统一套
3、KHF-4型CPLD实验/开发系统一套
4、CPLDDN-3型下载软件一套
三、实验要求
1、预习实验内容。
2、复习教材相关内容。
3、复习实验五的相关内容。
4、用硬件描述语言(AHDL和VHDL)设计一带有小时(12或24小时制)、分、秒的数字钟。
5、用数码管显示结果。
四、参考程序
1、AHDL设计23归0电路设计参考程序
Subdesign23to0
(inclk:
input;
ot[13..0]:
output;
)
Variable
hw[1..0],lw[3..0]:
dff;
Begin
(hw[],lw[]).clk=inclk;
if(hw[]==2)and(lw[]==3)then
hw[]=0;lw[]=0;
elsiflw[]==9then
hw[]=hw[]+1;lw[]=0;
else
hw[]=hw[];lw[]=lw[]+1;
endif;
Table
hw[]=>ot13,ot12,ot11,ot10,ot9,ot8,ot7;
0=>1,1,1,1,1,1,0;
1=>0,1,1,0,0,0,0;
2=>1,1,0,1,1,0,1;
Endtable;
Table
lw[]=>ot6,ot5,ot4,ot3,ot2,ot1,ot0;
0=>1,1,1,1,1,1,0;
1=>0,1,1,0,0,0,0;
2=>1,1,0,1,1,0,1;
3=>1,1,1,1,0,0,1;
4=>0,1,1,0,0,1,1;
5=>1,0,1,1,0,1,1;
6=>1,0,1,1,1,1,1;
7=>1,1,1,0,0,0,0;
8=>1,1,1,1,1,1,1;
9=>1,1,1,1,0,1,1;
Endtable;
End;
2、VHDL语言描述的60归0的参考程序
libraryIEEE;
useIEEE.std_logic_1164.all;
useIEEE.std_logic_unsigned.all;
entitycount60is
port(
inclk:
inSTD_LOGIC;
outa:
outSTD_LOGIC_VECTOR(0to6);
outb:
outSTD_LOGIC_VECTOR(0to6));
endcount60;
architecturecount60_archofcount60is
signalma,mb:
std_logic_vector(3downto0);
signalf:
std_logic;
signalmd:
std_logic_vector(23downto0);
begin
P1:
process(inclk)
begin
ifinclk'eventandinclk='1'then
ifmd=4999999then
md<="000000000000000000000000";
f<=notf;
else
md<=md+1;
f<=f;
endif;
endif;
endprocessp1;
P2:
process(f)
begin
iff'eventandf='1'then
ifma=9then
ma<="0000";
ifmb=5then
mb<="0000";
else
mb<=mb+1;
endif;
else
ma<=ma+1;
endif;
endif;
endprocessp2;
withmaSELect
outa<="0110000"when"0001",--1
"1101101"when"0010",--2
"1111001"when"0011",--3
"0110011"when"0100",--4
"1011011"when"0101",--5
"1011111"when"0110",--6
"1110000"when"0111",--7
"1111111"when"1000",--8
"1111011"when"1001",--9
"1110111"when"1010",--A
"0011111"when"1011",--b
"1001110"when"1100",--C
"0111101"when"1101",--d
"1001111"when"1110",--E
"1000111"when"1111",--F
"1111110"whenothers;--0
withmbSELect
outb<="0110000"when"0001",--1
"1101101"when"0010",--2
"1111001"when"0011",--3
"0110011"when"0100",--4
"1011011"when"0101",--5
"1011111"when"0110",--6
"1110000"when"0111",--7
"1111111"when"1000",--8
"1111011"when"1001",--9
"1110111"when"1010",--A
"0011111"when"1011",--b
"1001110"when"1100",--C
"0111101"when"1101",--d
"1001111"when"1110",--E
"1000111"when"1111",--F
"1111110"whenothers;--0
endcount60_arch;
注释:
本程序的编译,仿真及下载与前述AHDL语言相同,不再详述。
五、实验报告
1、总结并体会初步设计稍大规模电路的基本思路和方法。
2、根据实验中遇到的问题及实验结果写出总结报告。
实验八数据采集与显示电路设计
一、实验目的
1、学会用硬件描述语言设计A/D转换电路。
2、掌握综合性电路的设计方法。
二、实验仪器
1、PC机一台
2、MAX+PLUSⅡCPLD开发系统一套
3、KHF-4型CPLD实验/开发系统一套
4、CPLDDN-3型下载软件一套
三、实验要求
1、复习A/D转换电路的原理
2、复习教材相关内容。
3、用硬件描述语言进行电路设计。
四、实验内容及实验步骤
(1)设计输入。
AHDL参考程序如下:
Include"dcbzh.inc";
Subdesignsjcj
(inclk,eoc,ds[7..0]:
input;
add[2..0],otclk,out[20..0],st:
output;
)
Variable
zhq:
dcbzh;
fpq[4..0],fp,outb[20..0],outd:
dff;
sm[1..0],dp[7..0],st,outdd[20..0]:
dff;
Begin
(fpq[],fp,outdd[],outd).clk=inclk;
zhq.inclk=inclk;
Iffpq[]==19then
fpq[]=0;fp=!
fp;
Else
fpq[]=fpq[]+1;fp=fp;
Endif;
ifoutdd[]==999999then
outdd[]=0;outd=!
outd;
else
outdd[]=outdd[]+1;outd=outd;
endif;
(sm[],st,dp[]).clk=fp;otclk=fp;outb[].clk=outd;
add[2..0]=gnd;
Casesm[]is
When0=>
st=gnd;dp[]=ds[];
sm[]=1;
When1=>
st=gnd;dp[]=dp[];
ifeocthen
sm[]=2;
else
sm[]=1;
endif;
When2=>
st=vcc;sm[]=0;dp[]=ds[];
Endcase;
zhq.ibd[]=dp[];
outb[]=zhq.odd[];
out[]=outb[];
End;
(2)VHDL编写的实例
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityadc0809is
port(ina:
instd_logic_vector(7downto0);
inclk:
instd_logic;
eoc:
instd_logic;
outa:
outstd_logic_vector(0to13);
adda,addb,addc:
outstd_logic;
ck,ale:
outstd_logic);
endadc0809;
architecturearch_adc0809ofadc0809is
signalfp:
std_logic_vector(2downto0);
signalf:
std_logic;
signalcounter:
std_logic_vector(3downto0);
signalsa:
std_logic_vector(7downto0);
begin
process(inclk)
begin
if(inclk'eventandinclk='1')then
iffp=5then
fp<="000";
f<=notf;
else
fp<=fp+1;
endif;
endif;
endprocess;
ck<=f;
process(f)
begin
if(f'eventandf='1')then
ifcounter=8then
counter<="0000";
sa<=ina;
elsecounter<=counter+1;
endif;
endif;
endprocess;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验