




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、课程名称:EDA技术实验二、教材名称: EDA技术使用教程,潘松等编著。三、本课程教学目的、要求:介绍EDA的基本知识、常用的EDA工具的使用方法和目标器件的结构原理、VHDL设计输入方法(图形和文本)、VHDL仿真、VHDL的设计优化等。 EDA技术作为重要的专业课程,其实践性强。在教学时要注重理论和实践的紧密结合,通过大量上机操作,使学生掌握VHDL的基本结构和编程思想。实验1 原理图输入方法及8位全加器设计(4课时)1) 实验目的:熟悉利用MAX+plus的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行电子电路设计的详细流程。2
2、) 实验报告要求:详细叙述8位加法器的设计流程;给出各层次的原理图及其对应的仿真波形图;给出加法器的延时情况。3) 实验步骤:(1) 设计一个一位半加器。步骤1:输入设计项目和存盘步骤2:输入半加器元件:步骤3:将项目设置为工程文件步骤4:选择目标器件并编译步骤5:时序仿真步骤6:包装元件入库选择菜单“File”“Open”,在“Open”对话框中选择原理图编辑文件选项“Graphic Editor Files”,然后选择h_adder.gdf,重新打开半加器设计文件,然后选择如图4-5中“File”菜单的“Create Default Symbol”项,将当前文件变成了一个包装好的单一元件(
3、Symbol),并被放置在工程路径指定的目录中以备后用。(2) 利用半加器组成一个一位全加器,并记录仿真结果。(3) 利用全加器组成一个八位全加器,并记录仿真结果。实验二 简单组合电路和时序电路设计(4课时)一、实验目的:熟悉Max+plus的VHDL文本设计流程全过程,学习简单组合电路和时序电路的设计和仿真方法。二、实验内容1:首先利用MAX+plus完成2选1多路选择器和一位全加器的文本编辑输入和仿真测试等步骤,给出仿真波形,验证本项设计的功能。 2:设计触发器(J-K),给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。 3:先设计或门和一位半加器的VHDL描述文件,并进行仿真调
4、试,再用元件例化的方法实现一位全加器,并仿真调试。要求记录VHDL文件内容和仿真波形结果。4:用一位全加器设计8为全加器。要求记录VHDL文件内容和仿真波形结果。(选作)参考程序ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a;ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGINd = a AND (NOT S) ;e = b AND s ;y = d OR e ; END ARCHITECTURE one ;LIBRARY
5、 IEEE ; USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2a IS PORT (a, b :IN STD_LOGIC; c : OUT STD_LOGIC ); END ENTITY or2a; ARCHITECTURE fu1 OF or2a IS BEGIN c = a OR b ; END ARCHITECTURE fu1;半加器描述(1)LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY adder IS PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC
6、); END ENTITY adder; ARCHITECTURE fh1 OF adder is BEGIN so = NOT(a XOR (NOT b) ; co ain,b=bin,co=d,so=e); u2 : h_adder PORT MAP(a=e, b=cin, co=f,so=sum); u3 : or2a PORT MAP(a=d, b=f, c=cout); END ARCHITECTURE fd1;二选一多路选择器仿真结果:实验三 含异步清0和同步时钟使能的4位加法计数器(4课时)一、实验目的:学习计数器的设计、仿真,进一步熟悉VHDL设计技术。二、实验内容:设计一含计
7、数使能、异步复位和能进行计数值并行预置功能的4位加法计数器。RST是异步清零信号,高电平有效;clk是时钟输入信号;D0、D1、D2、D3是4位数据输入端(数据预置输入端)。Q0、Q1、Q2、Q3为计数器输出端。COUT为进位输出端。ENA为使能端,为1时,计数器实现对CLK时钟脉冲信号的加1计数,为0时停止计数。参考程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4B IS PORT (CLK : IN STD_LOGIC; RST : IN STD_LOGIC; EN
8、A : IN STD_LOGIC; OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT4B;ARCHITECTURE behav OF CNT4B IS SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP_REG: PROCESS(CLK, RST, ENA) BEGIN IF RST = 1 THEN CQI = 0000; ELSIF CLKEVENT AND CLK = 1 THEN IF ENA = 1 THEN CQI = CQI + 1; EL
9、SE CQI = 0000; END IF; END IF; OUTY = CQI ; END PROCESS P_REG ; COUT LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S LED7S NULL ; END CASE ; END PROCESS ; END ;仿真结果:综合后的计数器和译码器连接电路的顶层文件原理图:实验五 用状态机实现序列检测器的设计(4课时)一、实验目的:1、掌握状态机的编程方法和步骤;2、掌握用状态机设计序列检测器的方法和步骤; 二、实验内容用状态机编程实现对系列数“”的检测,当某一系列串(以左移方式
10、)进入检测器后,若该串与预置的系列数相同,则输出“A”,否则输出“B”。三、实验步骤:1、编辑系列检测器的VHDL程序;2、仿真测试并给出仿真波形,了解控制信号的时序;3、将上述方案改为系列检测密码为可预置(外部输入)情况,重新编写程序、编译和仿真,并记录仿真结果。参考程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SCHK IS PORT ( DIN,CLK,CLR : IN STD_LOGIC; AB : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END SCHK;ARCHITECTURE behv OF SCH
11、K IS SIGNAL Q:INTEGER RANGE 0 TO 8; SIGNAL D:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN D=; PROCESS (CLK,CLR) BEGIN IF CLR= 1 THEN Q IF DIN = D(7) THEN Q=1;ELSE Q IF DIN = D(6) THEN Q=2;ELSE Q IF DIN = D(5) THEN Q=3;ELSE Q IF DIN = D(4) THEN Q=4;ELSE Q IF DIN = D(3) THEN Q=5;ELSE Q IF DIN = D(2) THEN Q=6;EL
12、SE Q IF DIN = D(1) THEN Q=7;ELSE Q IF DIN = D(0) THEN Q=8;ELSE Q Q=0; END CASE; END IF; END PROCESS; PROCESS(Q) BEGIN IF Q=8 THEN AB=1010; ELSE AB=1011; END IF;END PROCESS;END behv;仿真结果:提高型实验:实验六 用VHDL实现数字钟及校园打铃系统(6课时)一、实验目的及要求:1、 掌握VHDL语言的基本结构及编程思想。2、 掌握VHDL语言的进行系统设计的方法和步骤。3、 提高学生综合应用能力。二、实验内容:1、用V
13、HDL实现数字钟及校园打铃系统的软件编辑。2、用VHDL实现数字钟及校园打铃系统的软件仿真。三、实验步骤1、 用VHDL编辑60进制计数器,并进行软件仿真。2、 用VHDL编辑24进制计数器,并进行软件仿真。3、 用VHDL编辑30进制计数器,并进行软件仿真。4、 用元件例化的方法实现数字钟的软件编辑及软件仿真。5、 实现数字钟的校时功能。6、 实现数字钟的打铃功能。7、 完成数字钟及校园打铃系统的实验报告。实验七 A/D采样控制器设计一、实验目的及要求: 1、掌握VHDL语言的基本结构及编程思想。 2、掌握A/D采样控制器的工作原理。 3、掌握A/D采样控制器的VHDL语言编程方法。二、实验
14、内容:1、设计一A/D0809模数转换器控制器。2、将转换结果送数码管显示器显示(2位)。3、模拟输入通道为IN0。三、实验步骤:1、ADC0809特点介绍(1)、单极性输入,8位A/D转换精度。(2)、逐次逼近式,每次采样时间约为100US(3)、8通道模拟输入2、A/D转换器外部引脚功能结构图3、A/D转换器时序图4、AD转换控制器与AD转换器的接口电路框图5、状态控制S0状态:初始状态。ADDC=1,选择1通道模拟信号输入。 ALE=START=OE=LOCK=0;S1状态:通道锁存。ALE=1, START=OE=LOCK=0;S2状态:启动A/D转换。 ALE=1, START=1,
15、OE=LOCK=0;S3状态:A/D转换等待状态。 ALESTART0,OE=LOCK=0; IF EOC=0 保持当前状态不变,继续等待A/D转换。 ELSE 转换结束,进入下一状态。S4状态:数据输出允许状态。A/D转换完毕,开启数据输出允许信号。 ALE=0, START=0,OE=1,LOCK=0;S5状态:数据锁存状态。开启数据锁存信号,将转换结果送锁存器锁存。 ALE=0, START=0,OE=1,LOCK=1;S6状态:延时状态。为了保证数据可靠锁存,延时一个时钟状态周期。 ALE=0, START=0,OE=1,LOCK=1;其它状态:返回到初始状态。 ALE=START=O
16、E=LOCK=0;6、参考程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY AD0809 IS PORT (D :IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLK0,EOC : IN STD_LOGIC; ADDA,OE : OUT STD_LOGIC; ALE,START : OUT STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); QQ : OUT INTEGER RANGE 15 DOWNTO 0);END AD0809;ARCHITECTURE behav OF
17、AD0809 IS TYPE ST_TYPE IS (S0, S1, S2, S3,S4,S5,S6,S7); SIGNAL CURRENT_STATE,NEXT_STATE : ST_TYPE ; SIGNAL REGL:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL LOCK :STD_LOGIC; BEGIN ADDA QQ=0;ALE=0;START=0;OE=0;LOCK=0; NEXT_STATE QQ=1;ALE=0;START=0;OE=0;LOCK=0; NEXT_STATE QQ=2;ALE=1;START=1;OE=0;LOCK=0; NEXT_
18、STATE QQ=3;ALE=1;START=1;OE=0;LOCK=0; IF EOC=0 THEN NEXT_STATE = S4; ELSE NEXT_STATE QQ=4;ALE=0;START=0;OE=0;LOCK=0; IF EOC=1 THEN NEXT_STATE = S5; ELSE NEXT_STATE QQ=5;ALE=0;START=1;OE=1;LOCK=0; NEXT_STATE QQ=6;ALE=0;START=0;OE=1;LOCK=1; NEXT_STATE QQ=7;ALE=0;START=0;OE=1;LOCK=1; NEXT_STATE NEXT_ST
19、ATE = S0; END CASE; END PROCESS PRO;REG:PROCESS(CLK0) BEGIN IF CLK0EVENT AND CLK0=1 THEN CURRENT_STATE=NEXT_STATE; END IF; END PROCESS REG; COM:PROCESS(LOCK) BEGIN IF LOCKEVENT AND LOCK=1 THEN REGL=D; END IF; END PROCESS COM; Q0) ; -计数器复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF EN = 1 THEN -检测是否允许
20、计数 IF CQI 0);-大于9,计数值清零 END IF; END IF; END IF; IF CQI = 1001 THEN COUT = 1; -计数大于9,输出进位信号 ELSE COUT = 0; END IF; CQ = CQI; -将计数值向端口输出 END PROCESS;END behav;(2)8位十进制频率计电路图2、32位锁存器设计参考程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY reg32b IS PORT (load : IN STD_LOGIC
21、; din: in STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END reg32b;ARCHITECTURE behav OF reg32b ISBEGIN PROCESS(load,din) BEGIN IF loadEVENT AND load=1 THEN dout=din; END IF; END PROCESS;END behav;3控制器设计(1)控制器时序图(2)参考程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.ST
22、D_LOGIC_UNSIGNED.ALL;ENTITY testctl IS PORT (clk : IN STD_LOGIC; tsten:out STD_LOGIC; clr_cnt: out STD_LOGIC; load:out STD_LOGIC ); END testctl;ARCHITECTURE behav OF testctl IS signal div2clk:std_logic;BEGIN PROCESS(clk) BEGIN IF clkEVENT AND clk=1 THEN div2clk=not div2clk; END IF; END PROCESS; proc
23、ess(clk,div2clk) begin if clk=0 and div2clk=0 then clr_cnt=1; else clr_cnt=0; end if; end process; load=not div2clk; tsten=div2clk;END behav;实验九 DAC接口电路与波形发生器设计一、实验目的及要求: 1、掌握VHDL语言的基本结构及编程思想。 2、掌握DA转换器接口方法。 3、掌握DA转换器的VHDL语言编程方法。二、实验内容:1、设计一DAC0832数模转换器控制器。2、要求使用DAC转换器输出一正弦波,最大值为5V。(使用单缓冲方式)3、要求正弦波频
24、率能步进可调,步进间隔为100Hz。(使用2个按键控制,一个步进为加,另一个为步进减)三、实验原理1、DAC0832特点(1)、8位电流DAC转换,输出为电流信号,因此要转换为电压输出,必须外接集成运算放大器。(2)、转换时间约为50-500ns,转换速度比电压型DAC转换器快,电压型一般为1-10us(3)、20脚双列直插式封装的CMOS型器件。(4)、内部具有两极数据寄存器,可采用单或双缓冲方式。2、D/A转换器外部引脚功能及内部结构图3、工作方式方式一:直通工作方式(本实验采用此种方式) 一般用于只有一路输出信号的情况。 接线情况:ILE1,CSWR1WR2 XFER0方式二、双缓冲器工
25、作方式 采用两步操作完成,可使DA转换输出前一数据的同时,将采集下一个数据送到8位输入寄存器,以提高转换速度。 一般用于多路DA输出。4、DA转换器与控制器接口电路设计5、实验仪实际接口电路图6、DA转换器输出波形步进可调控制电路设计设计思想:设输入控制器的时钟频率为50MHz。1、DA转换一次,需要一个时钟周期。若采用64点输出,则需要64个时钟周期。如果控制器时钟频率为64Hz,则输出的正弦波频率为1Hz。2、因此,只需要控制DA转换控制器的时钟频率,则就可以控制正弦波频率,正弦波频率与时钟频率的关系为1:64。3、题目要求正弦波步进频率为100Hz,则时钟频率步进应为6400Hz。按“加
26、”键,则时钟频率增加6400Hz,按“减”减,时钟频率减小6400Hz。7、带按键控制DA转换器与控制器接口电路设计四、实验程序参考程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DAC0832 IS PORT (CLK :IN STD_LOGIC; DD : OUT INTEGER RANGE 255 DOWNTO 0);END DAC0832;ARCHITECTURE behav OF DAC0832 IS SIGNAL Q:INTEGER RANGE 63 DOWNTO 0;SIGNAL D : INTEGER RANGE 255 D
27、OWNTO 0;BEGIN PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=1 THEN QDDD DDD D DDD D DDD D DDD D DDDD DDD D DDDD DDD D DDD D DDD D DDDD DDD D DDDD DDD D DD D DDNULL; END CASE; END PROCESS; DDQ0 Q1Q2 Q3Q4 Q5Q6 Q7NULL; END CASE; END IF; END PROCESS;PROCESS(RD,B) BEGIN IF RD=1 THEN CASE B IS WHEN 000=Q QQ QQ Q
28、Q QNULL; END CASE; END IF; END PROCESS;END a;四、循环取数电路设计LIBRARY ieee; USE ieee.std_logic_1164.all;ENTITY GET_CODE ISPORT(CLK1: IN STD_LOGIC; D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); RD:OUT STD_LOGIC; A : OUT STD_LOGIC_VECTOR(2 DOWNTO 0); DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END GET_CODE;ARCHITECTURE a O
29、F GET_CODE IS SIGNAL LOAD: STD_LOGIC; SIGNAL QQ : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL NUM: INTEGER RANGE 7 DOWNTO 0;BEGIN RD=1; LOAD=CLK1; PROCESS(CLK1) BEGIN IF CLK1EVENT AND CLK1=1 THEN IF NUM=7 THEN NUM=NUM+1; ELSE NUMAAAAAAAANULL; END CASE; END PROCESS;PROCESS(LOAD) BEGIN IF LOADEVENT AND LOAD=
30、1 THEN-上升沿锁存 QQ=D; END IF;END PROCESS; DOUT(7 DOWNTO 0)=QQ(7 DOWNTO 0);END a;五、扫描控制器设计LIBRARY ieee; USE ieee.std_logic_1164.all;ENTITY SCAN_8 ISPORT(CLK2: IN STD_LOGIC; C : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END SCAN_8;ARCHITECTURE a OF SCAN_8 IS SIGNAL NUM: INTEGER RANGE 7 DOWNTO 0;BEGINPROCESS(CLK2) BEGIN IF CLK2EVENT AND CLK2=1 THEN IF NUM=7 THEN NUM=NUM+1; ELSE NUMC CC CC CC CNULL; END CASE;END PROCESS;END A; 应用实例一:显示“”八个数字LIBRARY ieee; USE ieee.std_logic_1164.all;ENTITY disp_data ISPORT(CLK: IN STD_LOGIC; WR:OUT STD_LOGIC; A:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); Q:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司撕名牌策划方案
- 公司日常打卡小活动方案
- 公司组织哪些活动方案
- 公司美食节活动策划方案
- 公司沙龙如何做活动方案
- 公司节能减排策划方案
- 公司整年团建活动方案
- 公司消费扶贫活动方案
- 公司职工瑜伽活动方案
- 公司环保创新活动方案
- 核医学讲课比赛技巧与策略
- 2025年贵州六盘水市燃气集团六盘水燃气有限公司招聘笔试参考题库含答案解析
- 妊娠期子宫蜕膜息肉诊治中国专家共识(2024年版)解读课件
- 幼儿园教育惩戒的边界与艺术
- 交通安全与一氧化碳安全教育
- 2025年出版:全球市场工程机械多路换向阀总体规模、主要生产商、主要地区、产品和应用细分调研报告
- 电梯公告板制度
- 《2024 3610-T-339 可配置汽车信息娱乐服务 第 2 部分:要求》知识培训
- 2023年浙江省杭州市建德市国有粮食收储有限公司公开招聘工作人员8人笔试参考题库附带答案详解
- 科学上海会考试卷及答案
- 宠物清洁卫生用品猫砂
评论
0/150
提交评论