电子设计自动化(EDA)实验指导书
百科融创EDAIV实验指导书
目录目录.............................................................................. 第一部分 EDA(CPLD/FPGA)技术概述.. 0第三部分 QUARTUSII 开发工具的基本操作 (14)第四部分:基础实验 (30)【实验01】组合电路 (30)【实验02】扫描显示电路实验 (35)【实验03】七人表决器 (38)【实验04】格雷码变换 (39)【实验05】四位全加器 (41)【实验06】多路选择器 (43)【实验07】四位并行乘法器 (44)【实验08】设计基本触发器 (45)【实验09】触发器功能模拟 (47)【实验10】设计74LS169计数器功能模块 (50)【实验11】步长可变的加减计数器 (52)【实验12】计数器及时序电路 (53)【实验13】数控分频器 (58)【实验14】可控脉冲发生器 (62)【实验15】正负脉宽数控调制信号发生器 (64)【实验16】四位并行流水乘法器 (65)第五部分:综合实验 (67)【实验01】矩阵键盘控制接口设计实验 (67)【实验02】电子色子游戏机设计实验 (70)【实验03】数字时钟设计实验 (72)【实验04】秒表设计实验 (75)【实验05】VGA显示接口设计实验(VGA彩条信号发生器) (78)【实验06】PS/2键盘接口设计实验 (81)【实验07】16×16点阵汉字显示设计实验 (84)【实验08】液晶显示与应用设计实验 (87)【实验09】串行AD数据采集与显示设计实验 (89)【实验10】数字电压表设计实验(并行AD数据采集与显示) (91)【实验11】简易函数信号发生器设计实验(并行DA转换) (94)【实验12】波形发生与扫频信号发生器设计实验(串行DA) (96)【实验13】硬件电子琴电路设计实验 (99)【实验14】乐曲自动演奏与硬件电子琴设计实验 (102)附录 I——核心板硬件资源连接 (104)第一部分 EDA(CPLD/FPGA)技术概述电子设计自动化(EDA)技术是以计算机科学和微电子技术发展为先导,汇集了计算机图形学、拓扑逻辑学、微电子工艺与结构、计算数学等多种计算机应用学科的最新技术成果,在先进的计算机工作平台上开发出来的一整套电子系统设计的软件工具。
EDA电子实训实验指导书
石河子大学本科毕业设计实验指导书基于EDA平台的电子实训实验设计与开发学生姓名贺权指导教师任玲所在学院机械电气工程学院专业电气工程及其自动化年级11级(1)班中国·新疆·石河子2015年6月目录一、软件工具的安装 (2)二、实验部分 (3)实验一组合逻辑3-8译码器 (3)实验二汽车尾灯控制电路 (11)实验三、基于VHDL语言的数字秒表电路 (15)一、软件工具的安装本实验使用的是Quartus II 9.0,该软件可运行在winxp/win7/win8(包括兼容模式)等系统下,下载安装破解方法如下:1.在Altera公司官网上下载Quartus II 9.0的安装文件。
其中包括Quartus II 9.0的安装文件和ip库。
2.开始安装,win8以下的可以通过解压后得到安装文件,win8以上的直接双击打开就行,先安装90_quartus_windows,然后是90_ip_windows。
默认装在C盘,确保空间足够。
3.软件可免费试用30天。
鼓励购买正版,破解方法可百度。
4.用Quartus_II_9.0_b151破解器.exe破解C:\altera\90\quartus\bin下的sys_cpt.dll文件(运行Quartus_II_90_b151破解器.exe后,首先要点击“浏览”选中sys_cpt.dll,安装默认的sys_cpt.dll路径是在C:\altera\90\quartus\bin下,选中sys_cpt.dll后再点击“应用”。
很多用户上来就点击“应用”,实际上并没有破解这个软件)。
5.把license.dat里的XXXXXXXXXXXX 用您老的网卡号替换(在Quartus II7.2的Tools菜单下选择License Setup,下面就有NIC ID)。
6.在Quartus II 9.0的Tools菜单下选择License Setup,然后选择Licensefile,最后点击OK。
(Multisim)EDA实验指导书
电子电路(一) EDA实验指导书主讲教师: 张晓林教授编写人: 张展夏温博北京航空航天大学电子信息工程学院前言本指导书是根据北航电子信息工程学院本科课程“电子电路I”的要求,配合该课程教材《电子电路基础》一书编写的实验指导,供本科生实验时使用。
模拟电路EDA(电子设计辅助软件)实验是电子信息专业学生EDA实验技能训练的开端,是对理论课程学习的重要辅助手段,是理论与实际联系的必然途径。
通过模拟电路EDA实验,使学生掌握常用EDA软件的操作方法,掌握常用仪器仪表的使用方法,了解电路的基本原理。
通过实验使学生对模拟电路从结构到功能有感性认识,再通过从简单到复杂的模拟系统实现使学生基本掌握从理论到电路实现的方法,从而提高学生的综合学习能力,达到理论与实践的结合。
对学生的具体要求:能正确使用常用虚拟仪器,并能以最小的误差进行定量测量;能够自行完成预习,进行实验和写出标准的实验报告;能够自行设计和实现基本的模拟电路系统实验并进行分析。
本指导书是在张晓林教授主持和直接指导下编写的,常啸鸣、宋晗、柏俊杰、刘俊、刘丹、孙海峰、李化营和刘锋教辅也提出了宝贵的意见和建议,在此表示感谢。
编者实验一:Multisim的使用及共射放大器的仿真1.实验目的:(1)进一步了解Multisim的各项功能,熟练掌握其使用方法,为后续课程打好基础。
(2)通过使用Multisim来仿真电路,测试如图1所示的单管共射放大电路的静态工作点、电压放大倍数、输入电阻和输出电阻,并观察静态工作点的变化对输出波形的影响。
(3)加深对放大电路工作原理的理解和参数变化对输出波形的影响。
(4)观察失真现象,了解其产生的原因。
图12.实验步骤:(1)请对该电路进行直流工作点分析,进而判断管子的工作状态。
(2)请利用软件提供的各种测量仪表测出该电路的输入电阻。
(3)请利用软件提供的各种测量仪表测出该电路的输出电阻。
(4)请利用软件提供的各种测量仪表测出该电路的幅频、相频特性曲线。
EDA实验指导书
1.1
5
EDA 技术实验指导书
4. MAX+PlusII 的使用: 安装好后, 第一次运行 MAX+PlusII 时还需要多许多的工作才能保证软件的正常运行。 (1)在 MAX+PlusII 的软件目录下,双击 MAX+PlusII 10.2 BASELINE 的图标。第一 次运行时屏幕上会出现关于授权协议的提示窗口,如图 1.2 所示。 (2)阅读完授权协议信息以后,选择 Yes,出现防止复制的警告信息。选择 No,则 退出 MAX+PlusII。 (3)将你所申请的授权码文件 License.dat 文件拷贝到\ maxplus2 的文件夹下面。 (4)设置授权码的过程是:在 MAX+PlusII 界面中,选择菜单命令 Options/License Setup,出现 1.3 的所示的对话框,通过 Browse 按钮选择 License .dat 文件。 (5)是设置好授权文件后,选择 OK 按钮,就会回到 MAX+PlusII 管理器界面中进 行设计了。
1.2
1.3
6
EDA 技术实验指导书
MAX+PlusII 图形设计输入方法
1. 指定设计项目名称 MAX+PlusII 编译的工作对象是项目,所有在进行一个逻辑设计的时候,要指定设计的 项目名称,每个项目都应该建立一个单独的子目录 (只能是数字或者是英文字符不能是中 文),对于初学者而言,每个设计必须要有一个项目名,并且保证项目名和设计文件名一致。 2. 建立新文件 (1) 在 File 菜单中选择 New,如图 2.1 所示,将出现 New 的对话框,如图 2.2 所示
4
EDA 技术实验指导书
MAX+PlusII 的安装
电子设计自动化(EDA)_数字时钟程序模块(LED数码管显示)_实验报告
电子设计自动化(EDA)—数字时钟LED数码管显示二、实验内容和实验目的1. 6个数码管动态扫描显示驱动2. 按键模式选择(时\分\秒)与闹钟(时\分)调整控制,3. 用硬件描述语言(或混合原理图)设计时、分、秒计数器模块、闹钟模块、按键控制状态机模块、动态扫描显示驱动模块、顶层模块。
要求使用实验箱左下角的6个动态数码管(DS6 A~DS1A)显示时、分、秒;要求模式按键和调整按键信号都取自经过防抖处理后的按键跳线插孔。
实验目的: 1)学会看硬件原理图, 2)掌握FPGA硬件开发的基本技能3)培养EDA综合分析、综合设计的能力三、实验步骤、实现方法(或设计思想)及实验结果主要设备: 1)PC机, 2)硬件实验箱, 3)Quartus II软件开发平台。
1.打开Quartus II , 连接实验箱上的相关硬件资源, 如下图1所示。
2.建立新文件, 选择文本类型或原理图类型。
3. 编写程序。
4.编译5. 仿真, 加载程序到芯片, 观察硬件输出结果(数码管显示)6.结果正确则完成。
若结果不正确, 则修改程序, 再编译, 直到正确。
模24计数器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY count24 ISPORT(clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END count24;ARCHITECTURE arc OF count24 ISSIGNAL a,b:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk,en)BEGINhh<=a;hl<=b;IF(clk'EVENT AND clk='1') THENIF(en='1') THENIF(a="0010" AND b="0011") THENa<="0000";b<="0000";ELSE IF(b="1001") THENa<=a+'1';b<="0000";ELSE b<=b+'1';END IF;END IF;IF(a="0010" AND b="0010") THENcout<='1';ELSE cout<='0';END IF;END IF;END IF;END PROCESS;END arc;模60计数器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY count60 ISPORT(clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END count60;ARCHITECTURE arc OF count60 ISSIGNAL a,b:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL sout:STD_LOGIC;BEGINPROCESS(clk)BEGINhh<=a; hl<=b;IF(clk'EVENT AND clk='1') THENIF(en='1') THENIF(a="0101" AND b="1001") THENa<="0000";b<="0000";ELSE IF(b="1001") THENa<=a+'1';b<="0000";ELSE b<=b+'1';END IF;END IF;END IF;END IF;END PROCESS;sout<='1' WHEN a="0101" AND b="1001" ELSE '0';cout<=sout AND en;END arc;4-7显示译码模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY segment4to7 ISPORT(s:IN STD_LOGIC_VECTOR(3 DOWNTO 0);a,b,c,d,e,f,g:OUT STD_LOGIC);END segment4to7;ARCHITECTURE arc OF segment4to7 IS SIGNAL y:STD_LOGIC_VECTOR(6 DOWNTO 0); BEGINa<= y(6);b<= y(5);c<= y(4);d<= y(3);e<= y(2); f<= y(1);g<= y(0);PROCESS(s)BEGINCASE s ISWHEN "0000"=>y<="1111110"; WHEN "0001"=>y<="0110000"; WHEN "0010"=>y<="1101101"; WHEN "0011"=>y<="1111001"; WHEN "0100"=>y<="0110011"; WHEN "0101"=>y<="1011011"; WHEN "0110"=>y<="1011111"; WHEN "0111"=>y<="1110000"; WHEN "1000"=>y<="1111111"; WHEN "1001"=>y<="1111011"; WHEN OTHERS=>y<="0000000"; END CASE;END PROCESS;END arc;带闹钟控制模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mode_adjust_with_alarm ISPORT (adjust,mode,clk1hz: IN STD_LOGIC;clkh,enh,clkm,enm,clks,enha: OUT STD_LOGIC;clkh_a,clkm_a:OUT STD_LOGIC;mode_ss: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END mode_adjust_with_alarm;ARCHITECTURE arc OF mode_adjust_with_alarm ISTYPE mystate IS (s0,s1,s2,s3,s4,s5);SIGNAL c_state,next_state: mystate;BEGINPROCESS (c_state)BEGINCASE c_state ISWHEN s0=> next_state <= s1; clkh<=clk1hz; clkm<=clk1hz; clks<=clk1hz;enh<='0'; enm<='0'; enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="000";WHEN s1=> next_state <= s2; clkh<=adjust; clkm<= '0'; clks<='0';enh<='1'; enm<='0';enha<='0'; clkh_a<= '0';clkm_a<= '0'; mode_ss <="001";WHEN s2=> next_state <= s3; clkh<= '0'; clkm<=adjust; clks <= '0';enh<='0';enm<='1';enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="010";WHEN s3=> next_state <= s4; clkh<= '0'; clkm<= '0'; clks<=adjust;enh<='0'; enm<='0';enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="011";WHEN s4=> next_state <= s5; clkh<= clk1hz; clkm<= clk1hz; clks<=clk1hz;enh<='0';enm<='0';enha<='1'; clkh_a<=adjust; clkm_a<= '0'; mode_ss <="100";WHEN s5=> next_state <= s0; clkh<= clk1hz; clkm<= clk1hz; clks<=clk1hz;enh<='0'; enm<='0'; enha<='0'; clkh_a<= '0'; clkm_a<=adjust; mode_ss <="101";END CASE;END PROCESS;PROCESS (mode)BEGINIF (mode'EVENT AND mode='1') THENc_state<=next_state ;END IF;END PROCESS;END arc;扫描模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY scan ISPORT(clk256hz:IN STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END scan;ARCHITECTURE arc OF scan ISTYPE mystate IS (s0, s1,s2,s3,s4,s5);SIGNAL c_state,next_state: mystate;BEGINPROCESS ( c_state )BEGINCASE c_state ISWHEN s0=> next_state <=s1; ss<="010";WHEN s1=> next_state <=s2; ss<="011";WHEN s2=> next_state <=s3; ss<="100";WHEN s3=> next_state <=s4; ss<="101";WHEN s4=> next_state <=s5; ss<="110";WHEN s5=> next_state <=s0; ss<="111";END CASE;END PROCESS;PROCESS (clk256hz)BEGINIF (clk256hz'EVENT AND clk256hz='1') THENc_state<=next_state ;END IF;END PROCESS;END arc;复用模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux ISPORT(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla:IN STD_LOGIC_VECTOR(3 DOWNTO 0);ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);alarm:OUT STD_LOGIC);END mux;ARCHITECTURE arc OF mux ISSIGNAL a,hhtmp,hltmp,mhtmp,mltmp,shtmp,sltmp:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(mode_ss)BEGINCASE mode_ss ISWHEN "000"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "001"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "010"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "011"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "100"=> hhtmp<=hha; hltmp<=hla; mhtmp<=mha; mltmp<=mla; shtmp<=sh; sltmp<=sl;WHEN "101"=> hhtmp<=hha; hltmp<=hla; mhtmp<=mha; mltmp<=mla; shtmp<=sh; sltmp<=sl;WHEN OTHERS=>hhtmp<="0000";hltmp<="0000";mhtmp<="0000";mltmp<="0000";shtmp<="0000";sltmp<="0000"; END CASE;END PROCESS;PROCESS(ss)BEGINCASE ss ISWHEN "010"=> a <=hhtmp;WHEN "011"=> a <=hltmp;WHEN "100"=> a <=mhtmp;WHEN "101"=> a <=mltmp;WHEN "110"=> a <=shtmp;WHEN "111"=> a <=sltmp;WHEN OTHERS => a <="0000";END CASE;y<=a;END PROCESS;alarm<='1' WHEN ((hh=hha)AND(hl=hla)AND(mh=mha)AND(ml=mla)) ELSE '0';END arc;闪烁模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY blink_control ISPORT(ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);blink_en:OUT STD_LOGIC);END blink_control;ARCHITECTURE arc OF blink_control ISBEGINPROCESS (ss,mode_ss)BEGINIF(ss="010" AND mode_ss="001") THEN blink_en<='1';ELSIF(ss="011" AND mode_ss="001") THEN blink_en<='1';ELSIF(ss="100" AND mode_ss="010") THEN blink_en<='1';ELSIF(ss="101" AND mode_ss="010") THEN blink_en<='1';ELSIF(ss="110" AND mode_ss="011") THEN blink_en<='1';ELSIF(ss="111" AND mode_ss="011") THEN blink_en<='1';ELSIF(ss="010" AND mode_ss="100") THEN blink_en<='1';ELSIF(ss="011" AND mode_ss="100") THEN blink_en<='1';ELSIF(ss="100" AND mode_ss="101") THEN blink_en<='1';ELSIF(ss="101" AND mode_ss="101") THEN blink_en<='1';ELSE blink_en<='0';END IF;END PROCESS;END arc;Top文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY design3 ISPORT (mode,adjust,clk1hz,clk2hz,clk256hz,clk1khz:IN STD_LOGIC;alarm,a,b,c,d,e,f,g:OUT STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END design3;ARCHITECTURE arc OF design3 ISCOMPONENT mode_adjust_with_alarm PORT (adjust,mode,clk1hz: IN STD_LOGIC;clkh,enh,clkm,enm,clks,enha: OUT STD_LOGIC;clkh_a,clkm_a:OUT STD_LOGIC;mode_ss: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT;COMPONENT scan PORT (clk256hz:IN STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT;COMPONENT segment4to7 PORT (s: IN STD_LOGIC_VECTOR(3 DOWNTO 0);a,b,c,d,e,f,g: OUT STD_LOGIC);END COMPONENT;COMPONENT mux PORT(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla:IN STD_LOGIC_VECTOR(3 DOWNTO 0);ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);alarm:OUT STD_LOGIC);END COMPONENT;COMPONENT blink_control PORT(ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);blink_en:OUT STD_LOGIC);END COMPONENT;COMPONENT count24 PORT (clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;COMPONENT count60 PORT (clk ,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;SIGNALclkh,enh,clkm,enm,clks,clkh_a,clkm_a,coutm,couts,coutm_en,couts_en,cout,vcc,coutma_en,coutma,alarm1,bli nk_en,blink_tmp,enha: STD_LOGIC;SIGNAL mode_ss,ss1:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL hh,hl,mh,ml,sh,sl,hha,hla,mha,mla,y,i:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINvcc<='1';coutm_en <= enh OR coutm;couts_en <= enm OR couts;coutma_en<= enha OR coutma;blink_tmp<=blink_en and clk2hz;i(3)<=y(3) OR blink_tmp;i(2)<=y(2) OR blink_tmp;i(1)<=y(1) OR blink_tmp;i(0)<=y(0) OR blink_tmp;ss<=ss1;alarm<=alarm1 AND clk1khz;u1:mode_adjust_with_alarmPORT MAP( adjust,mode,clk1hz,clkh,enh,clkm,enm,clks,enha,clkh_a,clkm_a,mode_ss);u2:count24 PORT MAP(clkh,coutm_en,cout,hh,hl);u3:count60 PORT MAP(clkm,couts_en,coutm,mh,ml);u4:count60 PORT MAP(clks,vcc,couts,sh,sl);u5:count24 PORT MAP(clkh_a,coutma_en,cout,hha,hla);u6:count60 PORT MAP(clkm_a,vcc,coutma,mha,mla);u7:mux PORT MAP(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla,ss1,mode_ss,y,alarm1);u8:scan PORT MAP(clk256hz,ss1);u9:blink_control PORT MAP(ss1,mode_ss,blink_en);u10:segment4to7 PORT MAP(i,a,b,c,d,e,f,g);END arc;实验结果:数字钟包括正常的时分秒计时, 实验箱左下角的6个动态数码管(DS6 A~DS1A)显示时、分、秒。
EDA实验一38译码器设计
《电子设计自动化》实验报告实验一实验名称:3-8译码器的设计专业及班级:姓名:学号:一、实验目的:1.掌握组合逻辑电路的设计方法。
2.掌握 VHDL 语言的基本构造及设计的输入方法。
3.掌握 VHDL 语言的基本描绘语句的使用方法。
二、实验步骤(附源代码及仿真结果图):1.成立工程, Quartus II -- project wizard (注意工程目录中不可以出现中文字符,不可以成立在桌面上);弹出窗口如图 2-3 所示。
图 2-3 New Project Wizard 窗口2.点击next,在出现的对话框中输入以下项目信息:a.项目路径,如: D:\EDA experiment\decoder38; b.项目名称,如: decoder38。
如图 2-4 所示:图 2-4 项目路径和项目名称对话框3.点击 2 次 next 后,出现如图 2-5 所示的对话框:a.Device family 中选择 Cyclone IV E;b.Available devices 中选择 EP4CE115F29C7.图 2-5器件选择窗口4.点击next后,出现EDA工具设置对话框。
在Simulation一行中, Tool Name 选择ModelSim-Altera , Fomat(s)选择 VHDL ,如图 2-6 所示。
图 2-6 EDA 工具设置对话框5.点击 next,出现如图 2-7 所示的对话框:图 2-7 新建项目汇总对话框6. 点击 Finish 后,出现如图2-8 所示的界面:图 2-8 decoder38 项目界面7.点击 File->New->VHDL File ,如图 2-9 所示。
点击 ok 封闭对话框。
图 2-9 新建 VHDL 文件窗口8.在文本编写框内键入以下程序:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY decoder38 ISPORT(A, B,C,G1,G2A,G2B: IN STD_LOGIC;Y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END decoder38;ARCHITECTURE Behavior OF decoder38 ISSIGNAL indata: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGINindata <= C&B&A;PROCESS (indata, G1, G2A,G2B)BEGINIF (G1='1' AND G2A='0' AND G2B='0') THENCASE indata ISWHEN "000"=>Y<="11111110";WHEN "001"=>Y<="11111101";WHEN "010"=>Y<="11111011";WHEN "011"=>Y<="11110111";WHEN "100"=>Y<="11101111";WHEN "101"=>Y<="11011111";WHEN "110"=>Y<="10111111";WHEN "111"=>Y<="01111111";WHEN OTHERS =>Y<="XXXXXXXX";END CASE;ELSEY<="11111111";END IF;END PROCESS;END Behavior;9. 将文件保留为decoder38.vhd 后,开始编译,点击Processing->Start Compilation ,编译成功后,出现如图2-10 所示界面:图 2-10 编译成功界面10.再次新建一个 vhdl 文件,键入以下的 modelsim 测试程序:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY decoder38_tb ISEND decoder38_tb;ARCHITECTURE Behavior OF decoder38_tb ISCOMPONENT decoder38PORT (A,B,C,G1,G2A,G2B: IN STD_LOGIC;Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END COMPONENT;SIGNAL A: STD_LOGIC:='0';SIGNAL B : STD_LOGIC:='0';SIGNAL C: STD_LOGIC:='0';SIGNAL G1: STD_LOGIC:='1';SIGNAL G2A: STD_LOGIC:='0';SIGNAL G2B: STD_LOGIC:='0';SIGNAL Y: STD_LOGIC_VECTOR(7 DOWNTO 0);CONSTANT CLK_PERIOD: TIME:=10ns;BEGINA<=not A after CLK_PERIOD;B<=not B after 20ns;C<=not C after 40ns;U1: decoder38 port map(A=>A,B=>B,C=>C,G1=>G1,G2A=>G2A,G2B=>G2B,Y=>Y);END behavior;11.将文件保留为 decoder38_tb.vhd ,编译经过。
EDA实验报告
EDA实验报告EDA(VHDL编程)实验报告一、引言EDA (Electronic Design Automation) 是一种用于电子设计和验证的自动化工具。
VHDL(VHSIC Hardware Description Language)是一种硬件描述语言,用于描述和建模数字系统。
本实验旨在使用VHDL编程并使用EDA工具进行设计和验证。
二、实验目的1.理解并熟悉VHDL编程2.学会使用EDA工具进行设计和验证3.实践数字系统的建模和仿真三、实验过程1.VHDL编程根据实验要求,我们使用VHDL编程来实现一个4位2选1多路器。
首先,我们定义输入端口和输出端口,并声明所需的信号和变量。
然后,我们编写组合逻辑和时序逻辑以实现所需的功能。
最后,我们将实例化该多路器并指定其输入和输出端口。
2.EDA工具设计和验证我们选择了 Xilinx ISE Design Suite 作为我们的 EDA 工具。
首先,我们创建一个新的项目并选择相应的 FPGA 芯片。
然后,我们添加我们的VHDL 设计文件到项目中,并进行综合、布局和路由。
最后,我们使用仿真工具验证我们的设计。
四、实验结果经过实验,我们成功地编写并实例化了一个4位2选1多路器。
我们使用 Xilinx ISE Design Suite 进行综合、布局和路由,并成功验证了我们的设计。
五、实验总结通过本实验,我们掌握了VHDL编程和EDA工具的使用。
我们学会了使用VHDL描述数字系统,并使用EDA工具进行设计和验证。
这些技能对于电子设计和验证非常重要,并将有助于我们更好地理解和应用数字系统的原理和方法。
在实验过程中,我们也遇到了一些困难和挑战。
例如,我们可能需要更深入地了解VHDL编程的语法和方法,以及如何使用EDA工具的高级功能。
此外,我们还需要更多的实践来提高我们的设计和仿真技能。
总之,本实验有助于我们深入学习和理解数字系统的设计和验证。
通过实践和使用EDA工具,我们能够更好地应用所学知识,提高我们的设计和验证能力。
电子设计自动化实验指导书_六个实验2015
目录实验一半加器和全加器的设计实验二多路选择器设计实验三基本触发器的设计实验四十进制加法计数器的设计实验五八位七段数码管动态显示电路的设计实验六基于VHDL的表决器的设计附表一核心板载资源与FPGA EP2C35 I/O接口对照表附表二EP2C35与开发平台硬件资源I/O接口对照表实验一 半加器和全加器的设计一、 实验目的1、掌握图形的设计方式;2、掌握自建元件及调用自建元件的方法;3、熟练掌握QUARTUS II 的使用。
二、实验内容1、熟练软件基本操作,完成半加器和全加器的设计;2、正确设置仿真激励信号,全面检测设计逻辑;3、综合下载,进行硬件电路测试。
三、实验原理1、半加器的设计半加器只考虑了两个加数本身,没有考虑由低位来的进位。
半加器逻辑表达式:B A B A B A S ⊕=+=;AB C =2.全加器的设计全加器除考虑两个加数外,还考虑了低位的进位。
0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1111全加器逻辑表达式:1-⊕⊕=i i i i C B A S ;AB C B A C i i i i +⊕=-1)( 3、利用半加器元件完成全加器的设计 (1)图形方式其中HADDER 为半加器元件。
四、实验步骤1、完成图形半加器设计。
2、完成VHDL 半加器设计与仿真(记录仿真波形)。
3、完成VHDL 全加器设计与仿真(记录仿真波形)。
4、利用半加器元件进行图形的全加器设计。
五、思考题:1、怎样自建元件?自建元件的调用要注意什么?实验二 多路选择器的设计一、实验目的1.熟练掌握多路选择器的设计方法;2.用VHDL语言中不同的语句来描述。
二、实验原理四选一多路选择器的原理如下图及下表,由Sl,S0来选择d0 ,dl ,d2 ,d3的信号,并使其能在Q上输出。
三、实验内容1、用VHDL语言的不同语句分别描述任务选择器,并通过编译仿真比较不同语句描述的区别。
142《电子设计自动化(EDA)》课程标准
《电子设计自动化(EDA)》课程标准课程名称:电子设计自动化(EDA)课程编码:0509069 学分:3总学时:54(30+24)适用专业:机电一体化专业一、前言1.课程性质《电子设计自动化(EDA)》课程是机电一体化专业必修的专业核心课程,是一门理实一体课程。
本门课程在第四学期开设,为专业核心课程,其前导课程是计算机应用基础,电路基础,电子技术基础。
为后续的“单片机技术与应用”等课程的综合设计打下了理论和实践的基础。
2.基本理念本课程是一门实践性非常强的课程。
要求学生注重实践,在掌握Protel 99 SE软件的基本操作后,重点加强PCB工程训练。
采用多媒体教学,实例分析教学。
3.设计思路(1)、以机电产品开发技术员以及开发助理员岗位完成机电产品硬件开发工作任务所需的能力要求作为课程内容选取的主要依据。
根据电子行业经济发展的需要,聘请企业技术人员对机电一体化专业领域的职业岗位进行工作任务分析,根据完成机电产品硬件开发典型工作任务所需的知识、能力和素质要求进行教学内容的选取。
(2)、结合国家职业标准确定了课程标准在课程主讲老师和企业专家共同参与下,根据行业对职业能力的要求,结合“计算机辅助设计绘图员(电子)(简称电子CAD绘图员)”国家职业标准,明确本课程教学内容及对各内容的掌握要求。
然后,根据典型工作任务的特点,将各教学内容进行知识的解构。
按照职业成长规律与认知学习规律,以项目的形式,将本课程分解为电源电路、信号源电路、智能温度计等六个电路由易至难、由简单到复杂的学习子领域,将之前解构的各知识点重构到相应的学习子领域中,真正实现“用什么,学什么”。
以项目为载体,设计完成子领域教学目标的学习情境,在学习情境中明确学习目标、学习内容、建议教学方法、教学材料、使用工具、学生知识能力的储备、教师要求、考核与评价。
(3)、基于行动导向原则进行教学模式设计采用工作过程系统化的课程改革方法,用三个学习情境贯穿教学组织,每一个学习情境都是一个完整的工作过程,无论是简单的还是复杂的电路,都经历了原理图设计——PCB设计——PCB制作等几个主要工作环节,与企业的PCB设计员实际所做的项目或工作完全一致,充分体现职业性。
2020年(OA自动化)电子设计自动化(eda)实验指导书
(OA自动化)电子设计自动化(eda)实验指导书电子设计自动化(EDA)实验指导书前言近些年来,电子设计自动化(EDA)技术发展迅速。
一方面,各种大容量、高性能、低功耗的可编程逻辑器件不断推出,使得专用集成电路(ASIC)的生产商感受到空前的竞争压力。
另一方面,出现了许多EDA设计辅助工具,这些工具大大提高了新型集成电路的设计效率,使更低成本、更短周期的复杂数字系统开发成为可能。
于是一场ASIC与FPGA/CPLD之争在所难免。
然而PLD器件具有先天的竞争优势,那就是可以反复编程,在线调试。
EDA技术正是这场较量的推动引擎之一。
一般来说,EDA技术就是以计算机为平台,以EDA软件工具为开发环境,以HDL为设计语言,以可编程器件为载体,以ASIC、SOC芯片为目标器件,以电子系统设计为应用方向的电子产品自动化设计过程。
设计者只需编写硬件描述语言代码,然后选择目标器件,在集成开发环境里进行编译,仿真,综合,最后在线下载调试。
整个过程,大部分工作由EDA软件完成。
全球许多著名的可编程器件提供商都推出了自己的集成开发工具软件,如Altera公司的MAX+PLUSⅡ、QuartusⅡ软件;Xilinx公司的Foundation、ISE软件,Lattice公司的ispExpert软件,Actel 公司的Libero软件等。
这些软件的推出,极大地促进了集算法设计、芯片编程、电路板设计于一体的EDA技术的发展。
另外,在以SOC 芯片为目标器件的电子系统设计要求下,可编程器件的内部开始集成高速的处理器硬核、处理器软核、DSP模块、大量的存储资源、高速的串行收发模块、系统时钟管理器、多标准的I/O接口模块,亦使得设计者更加得心应手,新一轮的数字革命由此引发。
EDA技术是一门实践性很强的学科,要培养出具有竞争力的一流IC设计人才,动手能力是关键。
只有通过理论学习,加上现场实验,在使用软件编程加硬件调试的过程中真正获得锻炼,增长技能。
《EDA》实验指导书--精讲
辽东学院自编教材《可编程逻辑器件原理及应用实验》指导书李海成编(计算机科学与技术、电子信息工程专业用)姓名:学号:班级:信息技术学院2013年6月目录目录 (1)实验一MAX+PLUS-II设计三八译码器......... 错误!未定义书签。
实验二半加器 . (2)实验三带进位输入的8位加法器 (4)实验四数据比较器 (6)实验五编码器 (9)实验六组合逻辑电路的设计 (12)实验七计数器 (14)实验八触发器功能的模拟实现 (17)(被加数)Ai(被加数)Bi(半加和)Hi(本位进位)Ci实验二 半加器实验类型: 验证性实验课时: 2指导教师: 李海成 时 间:201 年 月 日 课 次:第 节教学周次:第 周实验分室: 实验台号: 实 验 员:一、 实验目的1.设计并实验一个一位半加器2.掌握CPLD/FPGA 组合逻辑设计基本方法。
二、 实验原理计算机中数的操作都是以二进制进位的,最基本的运算就是加法运算。
按照进位是否加入,加法器分为半加器和全加器电路两种。
计算机中的异或指令的功能就是求两个操作数各位的半加和。
一位半加器有两个输入、输出,如图2-1。
图2-1 一位半加器示意图表2-1一个半加大路的真值表如表2-1所示,根据真值表可得到半加器的函数表达式:Bi Ai Bi Ai Hi ∙+∙= Bi Ai Ci ∙=三、 实验连线半加器的两个输入所对应的管脚同两位拨码开关相连,两个输入管脚名为a 、b ;两个输出所对应的管脚同两位发光二极管相连,两个输出管脚名为 c0和s,其中c0表示进位, s 表示相加结果。
四、 实验记录五、实验注意事项1.提前编辑实验程序。
2.根据教师要求正确操作,并检验逻辑的正确性六、思考题1.EDA半加器实现与数字电路设计方法的根本区别。
2.简述EDA设计半加器的不同方法,并比较其优缺点。
3.心得体会及其他。
实验三 带进位输入的8位加法器实验类型: 验证性实验课时: 2 指导教师:时 间:200 年 月 日 课 次:第 节教学周次:第 周实验分室: 实验台号: 实 验 员:一、 实验目的1. 设计并实现一个8位全加器2. 掌握EDA 中模块调用方法 二、 实验原理利用实验二构建的半加器构建一位的全加器,然后设计一个8 位的全加器,其框图如图4-1所示。
EDA实训指导书
EDA实训指导书电子设计自动化技术实训 CSH 1CSH电子设计自动化技术实训 CSH 2前言电子设计自动化技术实训 CSH 3EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。
VHDL是一门非常重要的、是目前标准化程度最高的硬件描述语言。
它在1987年就被IEEE采纳为IEEE#1076标准。
用其书写的源文件既是程序又是文档,既是工程技术员之间交换信息的文件,以可作为合同签约者之间的文件。
在《电子设计自动化技术》课程的理论学习中,我们已仔细地介绍了基本数字电路的VHDL描述,为进一步掌握VHDL的综合应用,通过专门实训周以加强实践操作能力。
本次实训现提供以上几个数字系统综合课题供大家进行分析练习修改与矿。
为了提高分析实践效果。
在此只提供简单的课题框图与注释作为提示。
同时将VHDL源代码给出以便对照调试之用。
电子设计自动化技术实训 CSH 4课题1 带数字显示的秒表一、设计任务及要求1、设计一块用数码管显示的秒表。
2、能够准确的计时并显示。
3、开机显示。
4、用户可随时清零、暂停、计时。
5、最大计时59分钟,最小精确到秒。
二、可选器件EPM130208-2、共阴极七段数码管、发光二极管、按键开关、电阻、电容。
三、设计总体框图数字显示器的秒表总体框图如图1所示。
时钟输入分频电路时分复用译码显示计时模块图1带数字显示的秒表总体框图四、源程序library ieee;use _logic_; use _logic_; use _logic_; entity watchisport (sel:out std_logic_vector(6downto1); ——信号。
电子设计(EDA)实验报告(4位二进制加法器)
电子设计(EDA)实验报告(4位二进制加法器)一、实验名称4位二进制加法器二、实验目的掌握输入编辑原理图文件的方法;掌握编译原理图文件的方法;掌握仿真原理图文件的方法;理解Quartus 2 器件编程的方法三、实验环境计算机与Quartus 2 工具软件四、实验原理图、源程序entity halfadd isport(a1,b1:in bit;s1,c1:out bit);end ;architecture a of halfadd isbeginprocess(a1,b1)begins1<=a1 xor b1 after 10ns;c1<=a1 and b1 after 10ns;end process;end a;entity orgate isport(a,b:in bit;o:out bit);end orgate;architecture a of orgate isbegino<=a or b;end a;entity fulladd isport(i1,i2,c_in:in bit;fs,c_out:out bit);end ;architecture a of fulladd issignal temp_s,temp_c1,temp_c2:bit; component halfaddport(a1,b1:in bit;s1,c1:out bit);end component;component orgate port(a,b:in bit;o:out bit);end component;beginu0:halfadd port map(i1,i2,temp_s,temp_c1);u1:halfadd port map(temp_s,c_in,fs,temp_c2); u2:orgate port map(temp_c1,temp_c2,c_out); end a;entity add4 isport(a,b:in bit_vector(3 downto 0);cin:in bit;fs:out bit_vector(3 downto 0);cout:out bit);end add4;architecture a of add4 issignal temp_co0,temp_co1,temp_co2:bit; component fulladd isport(i1,i2,c_in:in bit;fs,c_out:out bit);end component;beginu0:fulladd port map(a(0),b(0),cin,fs(0),temp_co0);u1:fulladd port map(a(1),b(1),temp_co0,fs(1),temp_co1);u2:fulladd port map(a(2),b(2),temp_co1,fs(2),temp_co2);u3:fulladd port map(a(3),b(3),temp_co2,fs(3),cout);end a;五、实验波形图及分析延迟12.08ns。
EDA实验报告
EDA实验报告一、实验目的本次 EDA 实验的主要目的是熟悉电子设计自动化(EDA)软件的使用,掌握数字电路的设计、仿真和实现流程,提高对数字逻辑电路的理解和设计能力。
二、实验设备与环境1、计算机一台2、 EDA 软件(如 Quartus II 等)三、实验原理1、数字逻辑基础数字电路中的基本逻辑门包括与门、或门、非门、与非门、或非门等。
通过这些基本逻辑门的组合,可以实现各种复杂的数字逻辑功能。
2、组合逻辑电路组合逻辑电路的输出仅取决于当前的输入,不存在存储单元。
常见的组合逻辑电路有加法器、编码器、译码器等。
3、时序逻辑电路时序逻辑电路的输出不仅取决于当前的输入,还与电路的过去状态有关。
常见的时序逻辑电路有计数器、寄存器等。
四、实验内容1、设计一个简单的加法器使用基本逻辑门设计一个两位加法器,输入为两个两位的二进制数A 和 B,输出为它们的和 S 以及进位 C。
2、设计一个 4 位计数器实现一个 4 位的计数器,能够在时钟信号的上升沿进行计数,计数范围为 0 到 15。
3、设计一个数码管显示译码器将输入的 4 位二进制数转换为数码管的 7 段显示编码,实现数字 0 到 9 的显示。
五、实验步骤1、加法器设计(1)打开 EDA 软件,创建一个新的项目。
(2)使用原理图输入方式,绘制出加法器的逻辑电路图,包括两个半加器和一个或门。
(3)对设计进行编译,检查是否存在语法错误。
(4)创建仿真文件,设置输入信号的激励,进行功能仿真,观察输出结果是否符合预期。
2、计数器设计(1)在项目中新建一个模块,使用 Verilog HDL 语言描述计数器的功能。
(2)编写测试代码,对计数器进行仿真验证。
(3)将计数器下载到硬件开发板上,通过观察实际的输出结果验证其功能。
3、数码管显示译码器设计(1)同样使用原理图输入方式,设计数码管显示译码器的逻辑电路。
(2)进行编译和仿真,确保译码器的功能正确。
(3)将译码器与计数器连接起来,实现数码管的动态显示。
6《电子设计自动化(EDA)》课程标准
《电子设计自动化(EDA)》课程标准课程名称:《电子设计自动化(EDA)》适用专业:中等职业学校《电子技术应用》专业1.前言1.1课程性质本课程是中等职业学校电子技术应用专业的一门专业任选课程。
其功能是使学生掌握电子设计自动化方面的基本知识和基本技能,具备绘制电路原理图、设计印制电路板、仿真电路图等基本职业能力,为就业作前期准备。
1.2设计思路本课程总体设计思路是以电子技术应用专业相关工作任务和职业能力分析为依据确定课程目标,设计课程内容,以工作任务为线索构建任务引领型课程。
本课程主要以电路原理图绘制、印制电路板设计及电路仿真三大模块为线索进行设计。
为了充分体现任务引领、实践导向的课程思想,将课程的教学内容设计成若干个工作任务,以工作任务为中心引出相关专业知识,展开教学活动。
充分运用现代职教理念与技术,将教学和岗位的需求结合起来,将工艺规范与行业规范融入到课程中,培养学生自主学习的能力,团队协作的能力和与人沟通的能力。
使学生树立规范意识,质量意识,为以后的就业和职业发展奠定基础。
建议课时100学时。
2.课程目标过本课程的学习,能了解Protel DXP 2004软件的特点及运行环境,掌握应用Protel DXP 2004软件进行原理图绘制、电路仿真、印制电路板设计等操作,初步具备独立运用电子线路CAD软件进行简单电路设计的能力,同时提高学生分析问题的能力,合作沟通的能力,养成诚实守信的品质。
职业能力目标:●能使用Protel DXP 2004绘制电路原理图●能使用Protel DXP 2004设计印制电路板图●能使用Protel DXP 2004对电路进行仿真●能创建元件电气图形符号及封装图●具备严谨的专业思想和良好的职业道德3.课程内容与要求4.实施建议4.1教材编选1.教材选用中国水利水电出版社的《电子线路设计--Protel DXP 2004 SP2》,顾滨主编。
2.根据课程目标的要求,适当选用补充教材。
电子设计自动化EDA技术课程设计
电子设计自动化EDA技术课程设计一、背景总述电子设计自动化(Electronic Design Automation, EDA)技术指的是利用计算机软、硬件工具以及CAD技术来设计、仿真电子电路、系统,辅助设计工程师在电路、系统设计和验证、PCB设计、印制、生产、测试中快速有效地完成工作。
随着电子技术的迅速发展,EDA技术的重要性日益凸显。
本课程设计旨在让学生了解EDA软件的基本使用方法,并借助EDA工具设计、仿真、验证电路,提高学生的电子设计和EDA技能。
二、课程设计目标1.熟悉EDA软件的基本使用方法;2.了解EDA技术在电路、系统设计和验证、PCB设计、印制、生产、测试等方面的应用;3.了解EDA技术的发展历程、现状、趋势及相关的标准和规范;4.综合运用所学知识和技能,设计、仿真、验证电路。
三、课程大纲及教学安排课程大纲如下:章节内容学时1 EDA技术概述 2章节内容学时2 EDA软件介绍 43 电路设计流程 64 电路仿真技术85 PCB设计流程86 PCB制造流程 67 PCB测试技术 48 EDA技术的应用 69 课程设计实践项目 6教学安排:•第一周:课程介绍,EDA技术概述•第二周:EDA软件介绍1•第三周:EDA软件介绍2•第四周:电路设计流程•第五周:电路设计流程•第六周:电路仿真技术1•第七周:电路仿真技术2•第八周:PCB设计流程1•第九周:PCB设计流程2•第十周:PCB制造流程•第十一周:PCB测试技术•第十二周:EDA技术的应用•第十三周:课程设计实践项目介绍•第十四周:课程设计实践项目报告和演示四、课程设计实践项目本课程设计实践项目要求学生综合运用所学知识和技能,设计、仿真、验证一个电路。
项目步骤如下:1.确定电路类型和功能,选择EDA软件进行电路设计和仿真;2.使用EDA软件进行原理图绘制和电路仿真;3.对仿真结果进行分析和图表绘制,评估电路性能;4.根据仿真结果进行电路设计和优化,再次进行仿真并评估性能;5.根据电路设计结果进行电路板的制作和组装;6.使用测试设备对电路进行测试、分析,调试完善电路;7.撰写实验报告。
eda
河北科技师范学院机电工程学院电子设计自动化(EDA)实验指导书选用教材:《EDA技术实用教程》第三版潘松、黄继业编著电子信息实验室杜殿会2012.4.3《电子设计自动化(EDA)》课程实验指导书使用说明《电子设计自动化(EDA)》实验指导书适用于电子信息工程本科专业和应用电子技术专科专业,共有验证型实验 0 个、综合型实验 0 个、设计型实验 9 个。
其中电子信息工程本科专业实验 18 学时,实验/理论学时比为 18/36 ,包括简单组合电路的设计、加法计数器的设计及显示、用原理图输入法设计8位全加器和 8位十六进制频率计设计等 9 个实验项目。
……。
本实验现有主要实验设备 12 台(套),每轮实验安排学生 24 人,每组 2 人,每轮实验需要安排实验指导教师 2 人。
其他需要说明的内容……实验指导书执笔人:杜殿会实验指导书审核人:目录一、 EDA实验系统主板与芯片管脚对应关系 (3)二、Quartus II软件使用过程操作及实验注意事项: (3)实验一 1位全加器的设计 (6)实验二 8位全加器设计 (10)实验三加法计数器及译码电路设计 0实验四数码管扫描驱动显示电路设计 (3)实验五正弦信号发生器设计 (6)实验六自动售货机程序设计 (9)实验七数字时钟设计 (11)实验八键盘扫描显示电路设计实验九 8位十进制频率计设计 (23)附录:EDA技术实验开发系统ZY11EDA13BE实验箱简介 (32)EDA实验指导书1、EDA实验系统主板与芯片管脚对应关系1.1、主板系统I/O分配:器件种类为ACEX1K,FPGA芯片型号为EP1K30QC208-2。
1.2、时钟输入:1.3、模式选择开关为了全面开放I/O口,我们通过拨码开关CTRL来实现I/O口的免连线问题,模式选择模块功能说明如下图所示,拨码开关CTRL功能在实验箱上写了标识说明,在做实验时对照标识操作。
如在实现免连线功能时要用到数码管可以把拨码开关的第一脚拨向ON端,表示数码管可以用来显示输出的数据,若实现全开放I/O口系统时把拨码开关所有脚设置无效,即拨码开关全部不要拨向ON。
《电子设计自动化(EDA)》教材简介
2 4 i E P RT S se 的 AB L-HD . s X E ytm p E - L输 入( 输入方式选 择。 电路描述 一硬件描述语言文件 ,
第5 章
Eet n s rbnh及模拟练习 l r i kec c o c Wo
51 E . WB概 述
第1 章
可编程逻辑设计语言
11 硬件描述语言 H L简介 ( . D 为什么用硬件 描述语言 H L, D 各种 H L的浏览) D
12 A E . B L—H L硬 件 描述 语 言 ( E D B A L—
H L的基本元素、 、 D 结构 语句功能 , 实例)
13 V L硬件描述语 言( HD . HD V L的模型结 构, 标识符 、 数据对象 、 类型及属性 , 描述方法 , 设计
2 1 ip X E T 简介 . s E P R
22 sE P R yt 的原理图输入( . i X E T S s m p e 刨建 新设计项 目、 选择器件 , 原理 图输入) 2 3 设计 的编译与模拟 ( . 建立模拟测试向量 ,
编译原理图与测试向量、 模拟、 建立元件符号、 器件
“ u R u ua nh
( le eof[ o a in a d C m t ] Colg n{ ̄a to n o e gn L ng,P ̄r u Unie st Ne m v riy,Do g [g 2 7 6 n yn 5 0 1,Cli ) am
Ab ta t Th s p p r ito u e iig b c g o n s r c : i a e n r d c s wr n a k r u d,man c n e t n e t r s o ‘ e to is De in t i o tn s a d fa u e f El r nc sg c
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子设计自动化(EDA)实验指导书前言近些年来,电子设计自动化(EDA)技术发展迅速。
一方面,各种大容量、高性能、低功耗的可编程逻辑器件不断推出,使得专用集成电路(ASIC)的生产商感受到空前的竞争压力。
另一方面,出现了许多EDA设计辅助工具,这些工具大大提高了新型集成电路的设计效率,使更低成本、更短周期的复杂数字系统开发成为可能。
于是一场ASIC与FPGA/CPLD之争在所难免。
然而PLD器件具有先天的竞争优势,那就是可以反复编程,在线调试。
EDA技术正是这场较量的推动引擎之一。
一般来说,EDA技术就是以计算机为平台,以EDA软件工具为开发环境,以HDL为设计语言,以可编程器件为载体,以ASIC、SOC芯片为目标器件,以电子系统设计为应用方向的电子产品自动化设计过程。
设计者只需编写硬件描述语言代码,然后选择目标器件,在集成开发环境里进行编译,仿真,综合,最后在线下载调试。
整个过程,大部分工作由EDA软件完成。
全球许多著名的可编程器件提供商都推出了自己的集成开发工具软件,如Altera 公司的MAX+PLUSⅡ、Quartus Ⅱ软件;Xilinx公司的Foundation 、ISE软件,Lattice公司的ispExpert软件,Actel公司的Libero 软件等。
这些软件的推出,极大地促进了集算法设计、芯片编程、电路板设计于一体的EDA技术的发展。
另外,在以SOC芯片为目标器件的电子系统设计要求下,可编程器件的内部开始集成高速的处理器硬核、处理器软核、DSP模块、大量的存储资源、高速的串行收发模块、系统时钟管理器、多标准的I/O接口模块,亦使得设计者更加得心应手,新一轮的数字革命由此引发。
EDA技术是一门实践性很强的学科,要培养出具有竞争力的一流IC设计人才,动手能力是关键。
只有通过理论学习,加上现场实验,在使用软件编程加硬件调试的过程中真正获得锻炼,增长技能。
ZY11EDA13BE型实验系统采用主板加适配板加扩展板的灵活结构,可方便进行基于不同PLD芯片的实验开发,并易于升级,符合当前高校在此方面对人才培养的要求。
我们相信,只要学生扎扎实实完成本实验系统的所有实验,并在此基础上利用现有硬件资源开发出新的数字应用系统,学生的潜力会得到最大程度的发挥,对EDA技术的学习也会有质的飞跃,从而为推动我国数字系统设计技术的发展做出更大的贡献。
本实验手册是我校电子设计自动化(EDA)课程实验指导的主要依据。
根据实验大纲要求,共包含8个实验,其中实验二、三、四为必做,实验五、六、七、八至少选做一个。
目录实验一 EDA软件的熟悉与使用 (1)实验目的 (1)实验内容 (1)实验原理 (1)实验步骤 (1)实验报告 (1)实验思考题 (2)实验二 1位全加器的设计 (3)实验目的 (3)实验内容 (3)实验仪器 (3)实验原理 (3)实验注意事项 (4)实验步骤 (4)实验报告 (4)思考题 (4)实验三基本组合逻辑电路的VHDL模型 (6)实验目的 (6)实验内容 (6)实验仪器 (6)实验原理 (6)实验步骤 (12)实验四基本时序逻辑电路的VHDL模型 (13)实验目的 (13)实验内容 (13)实验仪器 (13)实验原理 (13)实验步骤 (31)实验五 Melay型有限状态机的设计 (32)实验目的 (32)实验内容 (32)实验仪器 (32)实验原理 (32)实验步骤 (34)实验六 ROM设计 (35)实验目的 (35)实验内容 (35)实验仪器 (35)实验原理 (35)实验步骤 (36)实验七键盘控制电路设计 (38)实验目的 (38)实验内容 (38)实验仪器 (38)实验原理 (38)实验步骤 (40)实验八交通灯实验 (41)实验目的 (41)实验内容 (41)实验仪器 (41)实验原理 (41)实验步骤 (42)附录一实验要求 (43)附录二实验成绩的考核与评定办法 (44)附录三实验项目设置与内容 (45)实验一EDA软件的熟悉与使用实验目的1.熟悉ALTERA公司EDA设计工具软件QuartusII 5.0。
2.熟悉ZY11EDA13BE型实验箱。
实验内容1.学习QuartusII 5.0软件课件。
2.学习QuartusII 5.0软件的安装,重要菜单命令含义。
3.熟悉ZY11EDA13BE型实验箱的结构与组成。
4.模仿课件中实例动手操作一遍,掌握采用QuartusII 5.0软件设计流程。
实验原理参考QuartusII 5.0软件学习课件。
实验步骤1.在教师的指导下,学习软件课件。
2.由教师演示QuartusII 5.0软件的安装,介绍菜单命令功能。
3.参考课件实例,动手操作软件,按照流程做完从新建文件,编译,仿真,分配引脚等软件操作部分的全过程。
4.参考第一部分实验系统简介,熟悉ZY11EDA13BE型实验箱结构,组成,了解各模块的基本作用,了解主板I/O分布情况,认识液晶屏,并口连接器,晶振,JTAG接口,逻辑笔,跳线等器件或组件。
实验报告1.绘制出QuartusII 5.0软件设计的详细流程图。
2.描述出QuartusII 5.0软件是如何进行目标器件选择,I/O分配和锁定引脚的。
3.描述出QuartusII 5.0软件help菜单功能,如何有效的使用它。
4.写出系统主板的I/O口分布情况。
5.写出ZY11EDA13BE型实验箱拨码开关CTRL各档的作用。
6.描述出一个完整的实验流程。
实验思考题1.QuartusII 5.0软件支持那些器件,该软件有什么局限性?2.QuartusII 5.0软件使用中大小写字母是否有区别?3.在进行一个完整的实验流程时应注意些什么?实验二1位全加器的设计实验目的1.掌握QuartusII 5.0软件使用流程。
2.熟悉ZY11EDA13BE型实验箱的开关按键模块,LED显示模块。
实验内容在QuartusII 5.0软件中使用原理图输入法设计并实现一个1位全加器。
实验仪器1.ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED 显示模块。
2.并口延长线,JTAG延长线。
(所有实验均包括,以下实验中均略去)。
3.安装QuartusII 5.0软件的PC机。
(所有实验均包括,以下实验中均略去)。
实验原理1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor为同或符合,相同为1,不同为0)来实现。
先设计底层文件:半加器,再设计顶层文件全加器。
(1)半加器的设计半加器表达式:进位:co=a and b和:so=a xnor (not b)半加器原理图如下:(2)全加器的设计全加器原理图如下:实验注意事项实验指导书中的所有实验内容都是针对主板系统的核心芯片EP1K30QC208-2来设计的,实验原理中提供了管脚分配情况,管脚分配好后必须通过成功编译才可以下载配置。
实验步骤1.在QuartusII 5.0软件中新建原理图文件,输入原理图,进行编译,仿真。
2.指定目标器件,并对编译通过的原理图分配管脚(可参考实验原理),分配完后再编译一次。
3.用并口延长线连接计算机机箱并口和实验箱并口插座,用JTAG延长线连接通用编程模块下载接口插座和配置模块核心芯片下载接口插座,接通实验箱电源,将实验箱电源按钮APW1,APW2按下,电源指示灯PL0-PL4亮。
4.下载配置文件f_adder.pof到目标芯片。
5.将拨码开关CTRL的(2)、(4)、(8)均设置为“ON”。
6.拨位开关KD1、KD2、KD3分别作为全加器a输入,b输入和进位c输入。
LED1、LED2分别作为全加器进位和全加和。
记录全加器的实验结果填入实验报告。
灯亮表示…1‟(高电平),灯灭表示…0‟(低电平)。
实验报告1.列出半加器与全加器的真值表。
如果实验室条件允许,打印半加器和全加器仿真波形图贴于实验报告中。
2.用文字描述出怎样实现层次化设计。
3.1位全加器的实现方法很多,画出其它方法的原理图。
思考题1.多位全加器就是在一位的原理上扩展而成的,设计出原理图输入的8位全加器。
2.集成电路全加器芯片有7480、7483等,试述其内部结构是如何实现的?3.参考全加器的设计思路设计出原理图输入的1位全减器。
(提示:全加器的设计是根据真值表来建立最简表达式,最简表达式应该是一些基本门电路,同样全减器的设计也是如此)。
实验三基本组合逻辑电路的VHDL模型实验目的1.掌握简单的VHDL程序设计。
2.掌握用VHDL对基本组合逻辑电路的建模。
实验内容分别设计并实现缓冲器、选择器、译码器、编码器、移位器、全加器的VHDL 模型。
实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED 显示模块。
实验原理1.三态缓冲器三态缓冲器(Tri-state Buffer)的作用是转换数据、增强驱动能力以及把功能模块与总线相连接。
在使用总线互连方式时,与总线通信的器件通常要通过三态缓冲器与总线相连。
如果缓冲器的使能端en为1,则缓冲器的输入端in1的信号值被复制到输出端;如果缓冲器的使能端en为其它数值,则缓冲器的输出端为高阻态。
三态缓冲器的输出端可以用线与的方式和其他缓冲器的输出端接在一起。
下例20-1-1给出了三态缓冲器的VHDL源代码模型:在IEEE的1164标准程序包中,用Z表示高阻态,现在的EDA综合工具一般都能根据这种描述综合得到三态器件。
下图20-1为本例中三态缓冲器的仿真波形图:图20-1 三态缓冲器的仿真图形2.数据选择器(Multiplexer)在数字系统设计时,需要从多个数据源中选择一个,这时就需要用到多路选择器。
下例20-2-1给出了四选一、被选择数字宽度为3的选择器VHDL源代码模型:在上面这个模型中,由于使用了条件赋值语句,所以写得很简短。
上面的程序代码还可以改写为使用进程的等价方式。
如下例20-2-2的VHDL源代码所示:由于模型中使用了std_Logic和std_Logic_vector数据类型,sel可能的数值不止四种,所以两种模型中都有一个分支来处理其他的数值。
在综合的时候,EDA工具一般都忽略这一分支。
除了处理三态器件中的高阻态…Z‟外,综合工具采用完全相同的方法来处理std_Logic和Bit数据类型。
图20-2为本例中多路选择器的仿真波形图:图20-2 多路选择器的仿真图形3.译码器(Decoder)译码器(Decoder)的输入为N位二进制代码,输出为2N个表征代码原意的状态信号,即输出信号的2N位中有且只有一位有效。
常见的译码器用途是把二进制表示的地址转换为单线选择信号。
下面例20-3-1为一个3-8译码器的VHDL源代码模型:下图20-3为本例中3-8译码器的仿真波形图:图20-3 3-8译码器的仿真图形4.编码器(Encoder)编码器(Encoder)的行为是译码器行为的逆过程,它把2N个输入转化为N位编码输出。