EDA技术Word下载.docx
- 文档编号:22621779
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:22
- 大小:871.13KB
EDA技术Word下载.docx
《EDA技术Word下载.docx》由会员分享,可在线阅读,更多相关《EDA技术Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
在图1-1新建仿真波形文件,后缀名.SCF。
出现图1-4的仿真波形编辑界面。
图1-4仿真波形编辑界面
(10)双击Name下方的空白处,在弹出的对话框中点击“List”按钮,添加输入、输出节点。
选择输入节点A,点OK,再选择输入节点B,点OK。
以此类推,将输入输出节点添加好。
(11)在时钟输入端处设置好输入端口A、B方波脉冲,点击屏幕左侧
,弹出对话框中,设置时钟周期,A为100ns,B为150ns。
12)设置好的输入波形如图如示。
((13)保存后,(选择菜单“FILE”→project→save&
simulate).点击仿真按钮,就可以进行波形仿真,以验证电路的逻辑功能。
六.实验电路
1.1位全加器元件内部电路图
2.2位全加器内部电路图(采用上元件为基础)
3.封装2位全加器
七.仿真结果及分析
分析:
由以上仿真结果可以看出与二位全加器逻辑功能相符,但有些地方由于延时问题,会出现竞争冒险情况,从而导致毛刺的出现
实验二数控分频器设计与仿真
1.学习并掌握MAX+PLUSIICPLD开发系统的操作技巧。
2.掌握数字逻辑电路的设计方法与功能仿真技巧。
3.学习VHDL源程序的编写调试方法。
1.PC机,1台
2.MAX+PLUSIICPLD软件开发系统,1套
1.预习教材中的相关内容;
2.编写好数控分频器VHDL源程序。
用VHDL设计一个数控分频器电路,并进行功能仿真与验证,要求预置数为(2~16),使输入时钟信号根据预置数的不同,实现3分频。
(1)开机,进入MAX+PLUSIICPLD开发系统;
(3)在主菜单中选NEW,从输入文件类型选择第3项文本编辑输入方式,
(4)输入VHDL源程序并保存,后缀名为.VHD。
(5)检查修改语法错误。
(6)编译.
(7)建立仿真波形,进行电路逻辑功能验证。
六.分频器--VHDL源程序
libraryIEEE;
USEIEEE.std_logic_1164.all;
USEIEEE.std_logic_arith.all;
USEIEEE.std_logic_unsigned.all;
entityCLKDIV_3is
port(Clk_in:
inSTD_LOGIC;
Rst:
Clk_out:
outSTD_LOGIC
);
endCLKDIV_3;
architectureART1ofCLKDIV_3is
signalCnt2_q:
INTEGERrange0to2;
signalDiv0,Div1:
STD_LOGIC;
begin
--Cnt_pd:
process(Cnt2_q)is
--begin
--if(Cnt2_q=2)then
--Cnt2_d<
=0;
--else
=Cnt2_q+1;
--endif;
--endprocess;
Cnt_pq:
process(Rst,Clk_in)is--
begin
if(Rst='
1'
)then
cnt2_q<
elsif(Clk_in'
eventandClk_in='
if(cnt2_q=2)then
cnt2_q<
else
=cnt2_q+1;
endif;
endif;
endprocess;
Div0_p:
process(Rst,Clk_in,cnt2_q)is
Div0<
='
;
if(Cnt2_q=0)then
Div0<
elsif(Cnt2_q=1)then
0'
=Div0;
Div1_p:
process(Rst,Clk_in)is
Div1<
Clk_out<
=Div0orDiv1;
endART1;
七.编译结果
八.时序仿真及结果
由以上仿真结果可以看出设计的数控分频电路与实验要求功能相符,但有些地方由于延时问题,会出现竞争冒险情况,从而导致毛刺的出现。
实验三译码器电路设计仿真与下载
3.学习芯片下载与实验基本方法。
3.CPLD实验及下载装置,1套
2.编写好VHDL3-8译码器源程序。
用VHDL设计一个3-8译码器电路,并进行功能仿真与下载测试。
要求:
(1)设置3个输入端:
分别取名为K1、K2、K3;
(2)设置8个数据输出端,取名为Y0至Y7;
(3)电路功能为:
K1、K2、K3为“000”,Y0至Y7输出为“01111111”,K1、K2、K3为“001”,Y0至Y7输出为“101111111”,…,K1、K2、K3为“111”,Y0至Y7输出为“11111110”,。
(4)进行电路功能仿真与验证。
(5)进行CPLD芯片数据下载与硬件功能测试。
(7)打开Assign->
devise菜单,选择计划使用的CPLD芯片。
(8)打开Assign->
pin\Location\chip…菜单,。
按照下表进行管脚映射。
所需信号
对应引脚
K0
79
K1
78
K2
73
Y0
138
Y1
140
Y2
136
Y3
137
Y4
133
Y5
135
Y6
131
Y7
132
(9)下载到硬件进行电路功能验证。
六.VHDL源程序及编译结果
entityymis
port(k:
instd_logic_vector(0to2);
y:
outstd_logic_vector(0to7));
endentity;
architectureartofymis
process(k)
casekis
when"
000"
=>
y<
="
01111111"
001"
10111111"
010"
11011111"
011"
11101111"
100"
11110111"
101"
11111011"
110"
11111101"
111"
11111110"
whenothers=>
null;
endcase;
endprocess;
endarchitecture;
七.心得与体会
通过用VHDL设计一个3-8译码器电路,并进行功能仿真与下载测试,近一步熟悉了MAX+plusII软件的应用,并通过下载映射进行硬件测试,提高了自身的实际操作与分析处理能力。
实验六数字秒表的设计
1.巩固和加深对MAXPLUSIICPLD开发系统的理解和使用;
2.掌握VHDL编程设计方法;
3.掌握硬件实验装置使用方法;
4.掌握综合性电路的设计、仿真、下载、调试方法。
1.PC机1台
3.CPLD/FPGA实验系统及下载装置,1套
三.实验内容
设计一个计时范围为0秒~90秒的数字秒表,用数码管显示当前秒表的计时值,并设置一个计时清零开关、一个计时起、停控制开关。
四.设计思路
1.秒表的计时基准信号:
以周期为1秒的计时脉冲CLK1作为一个比较精准的计时基准信号输入到秒个位计数器的时钟端;
注:
控制计数器逢10进1,每到90自动回0。
2.数码管译码显示和动态扫描电路:
将计数器输出的值用数码管显示需要BCD-七段数码管译码显示程序(实验四已经做过);
而将秒表的各位动态显示在数码管上,需要扫描电路
其中扫描电路输入端口:
CLK2(1KHZ)为扫描时钟输入;
五.实验预习要求
1.预习VDHL语言关于时序电路的描述方法;
2.理解本实验的基本结构;
3.预先设计好该数字系统程序:
6.VHDL源程序及编译结果
useIEEE.std_logic_1164.all;
useIEEE.std_logic_unsigned.all;
useIEEE.std_logic_arith.all;
--useWORK.PGE.all;
entitySec_99is
port(Clk_1KHZ,Clk_1HZ:
instd_logic;
Disp_Bit:
outstd_logic_vector(1downto0);
Disp_Seg:
outstd_logic_vector(7downto0)
architecturebehaveofSec_99is
typeSEG7_ARRAYisarray(1downto0)ofstd_logic_vector(7downto0);
typeBCD_ARRAYisarray(1downto0)ofintegerrange0to9;
signalDisp_Buff:
SEG7_ARRAY;
signalSec:
BCD_ARRAY;
functionConv_Seg7(Dat_In:
integerrange0to9)
returnstd_logic_vectoris
VariableDat_Tmp:
std_logic_vector(7downto0);
caseDat_Inis
when0=>
Dat_Tmp:
11000000"
when1=>
11111001"
when2=>
10100100"
when3=>
10110000"
when4=>
10011001"
when5=>
10010010"
when6=>
10000010"
when7=>
11111000"
when8=>
10000000"
when9=>
10010000"
endcase;
returnDat_Tmp;
endfunctionConv_Seg7;
--signalClk_1KHZ,Clk_1HZ:
std_logic;
begin
--Div1KHZ_P:
processis
--variableDiv_Value:
integerrange0to24999;
--begin
--waituntilClk_In'
eventandClk_In='
--if(Div_Value=24999)then
--Div_Value:
---Clk_1KHZ<
=notClk_1KHZ;
----else
=Div_Value+1;
---endif;
--endprocess;
--Div1HZ_P:
integerrange0to499;
--waituntilClk_1KHZ'
eventandClk_1KHZ='
--if(Div_Value=499)then
---Div_Value:
--Clk_1HZ<
=notClk_1HZ;
--else
--endif;
SecCnt_P:
waituntilClk_1HZ'
eventandClk_1HZ='
if(Sec(0)=9)then
if(Sec
(1)=9)then
Sec
(1)<
else
=Sec
(1)+1;
Sec(0)<
else
=Sec(0)+1;
endif;
DispScan_P:
process(Clk_1KHZ)is
std_logic_vector(1downto0):
10"
Variablei:
integerrange0to1;
if(Clk_1KHZ'
Disp_Seg<
=Disp_Buff(i);
Disp_Bit<
=Dat_Tmp;
Dat_Tmp:
=notDat_Tmp;
if(i=0)then
i:
=1;
else
DatConv_P:
process(Sec)is
Conv:
foriin0to1loop
Disp_Buff(i)<
=Conv_Seg7(Sec(i));
endloop;
编译结果:
7.仿真结果及分析
分析:
由以上仿真结果可以看出数字秒表的功能与实验设计要求基本相符,但有些地方在实际电路中因为种种原因可能存在延时问题,即出现竞争冒险情况,可以通过改进减少毛刺的大小。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 技术
![提示](https://static.bdocx.com/images/bang_tan.gif)