《EDA实验指导书》word版.doc_第1页
《EDA实验指导书》word版.doc_第2页
《EDA实验指导书》word版.doc_第3页
《EDA实验指导书》word版.doc_第4页
《EDA实验指导书》word版.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 熟悉QUARTUS 的设计过程输入方式:文本输入、图形输入、波形输入等一、实验目的:1、掌握QUARTUS安装过程;2、熟悉QUARTUS设计环境;3、掌握QUARTUS的设计过程。二、实验内容及步骤(一)、安装QUARTUS II。注:第一次安装QUARTUS要安装license。(二)、QUARTUS设计开发步骤1、在windows中建立一个文件夹,用于保存设计工程项目的有关文件。注:设计工程项目的有关文件不能保存在根目录下,必须保存在一个文件夹之下;文件夹不能用中文,不可带空格,最好也不要用数字。例如建立的文件夹:E:mux.2、点击QUARTUS7.2打开QUARTUS7.2设计窗口。点击Filenew新建立一个文本设计文件。用文本输入法输入程序。程序见附录。 3、保存文档并设置工程,对工程文件进行逻辑综合。(查看设计实体的RTL图)4、对设计做功能仿真,验证设计实体逻辑功能。5、管脚锁定并结构综合(适配)。6、进行时序仿真,验证设计的时序是否满足设计要求。7、执行文件汇编,生成下载所需的文件。8、编程下载。注:详细的使用说明见教材相关章节。附录:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS PORT (CLK,RST,EN : IN STD_LOGIC; CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT10;ARCHITECTURE behav OF CNT10 ISBEGIN PROCESS(CLK, RST, EN) VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST = 1 THEN CQI := (OTHERS =0) ; -计数器复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF EN = 1 THEN -检测是否允许计数 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;实验二 一位二进制全加器的VHDL设计一:实验目的1、巩固QUARTUS 设计过程和设计环境。2、了解VHDL结构体的三种描述方式。3、巩固VHDL语言的构成要素。二、实验内容全加器的结构图如上图。用VHDL语言描述其功能。先描述半加器和或门电路,然后用例化语句将半加器和或门电路连接构成全加器。1、用VHDL语言描述一位二进制全加器中的或门,并编译仿真通过后保存。或门电路程序如下:LIBRARY IEEE ;-或门逻辑描述USE IEEE. STD_LOGIC_1164.ALL; ENTITY or2a IS PORT (a,b :IN STD_LOGIC;c : OUT STD_LOGIC );END ENTITY or2a; ARCHITECTURE one OF or2a IS BEGIN c = a OR b; END ARCHITECTURE one;功能仿真如图一图一2、用VHDL语言描述一位二进制全加器中的半加器,并编译仿真通过后保存。半加器电路程序如下:LIBRARY IEEE; -半加器描述(1)USE IEEE. STD_LOGIC_1164.ALL;ENTITY hadder IS PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC); END ENTITY hadder; ARCHITECTURE fh1 OF hadder is SIGNAL abc : STD_LOGIC_VECTOR(1 DOWNTO 0) ;BEGIN abc so=0; co so=1; co so=1; co so=0; co NULL ; END CASE; END PROCESS;END ARCHITECTURE fh1;功能仿真如图2 图二3、全加器顶层描述程序LIBRARY IEEE; -1位二进制全加器顶层设计描述 USE IEEE.STD_LOGIC_1164.ALL; ENTITY fadder IS PORT (ain,bin,cin : IN STD_LOGIC; cout,sum : OUT STD_LOGIC ); END ENTITY fadder; ARCHITECTURE fd1 OF fadder IS COMPONENT hadder -半加器元器件例化(调用半加器) PORT ( a,b : IN STD_LOGIC; co,so : OUT STD_LOGIC); -半加器管脚 END COMPONENT ; COMPONENT or2a -或门元器件例化(调用或门电路) PORT (a,b : IN STD_LOGIC; c : OUT STD_LOGIC); -或门器件管脚 END COMPONENT;SIGNAL d,e,f : STD_LOGIC; -定义连接导线 BEGIN u1 : hadder PORT MAP(a=ain,b=bin,co=d,so=e); u2 : hadder PORT MAP(a=e,b=cin,co=f,so=sum); u3 : or2a PORT MAP(a=d,b=f,c=cout); -电路连接关系 END ARCHITECTURE fd1;4、将fadder设置为工程文件,编译仿真验证其功能。功能仿真如图三图三三、理解Component的作用。 实验三 用原理图输入法设计8位全加器一、实验目的: 熟悉和掌握用QUARTUS 的原理图输入方法设计简单组合电路的方法,并通过一个8位全加器的设计掌握用EDA软件进行电子线路设计的详细流程。二、实验原理:一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低位输入信号cin相接。三、实验内容:1、打开原理图编辑器,完成半加器和全加器的设计。包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路符号入库。详细的过程见教材相关章节。根据以上步骤画出以下原理图:1位半加器的原理图如图一。名字hadder. 图一在完成1位半加器的原理图后,进行编译综合之后,选择FilecreateCreate Symbol file for current file,将文件变成一个包装好的单一元件模块待调用。仿真效果是:运用以上包装好的1位半加器可画以下1 位全加器,如图二。名字adder。 图二在完成1位全加器的原理图后,进行编译综合之后,选择FilecreateCreate Symbol file for current file,将文件变成一个包装好的单一元件模块待调用。仿真效果如图三: 图三 2、建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和测试。运用以上包装好的1 位半加器、全加器,可画以下8位的全加器,如图四 图四 仿真效果如图五: 图五四、注意:每一个设计(文本或原理图)都能创建一个原理图符号,并且也只可以在同工程设计中被调用。实验四 设计含异步清零和同步时钟使能的加法计数器一、实验目的:学习计数器的设计、仿真,进一步熟悉VHDL设计技术。二、实验原理:设计一个加法计数器,具有异步清零和同步时钟使能功能。三、实验内容:在QUARTUS 上对下列程序进行编辑、编译、综合、适配、仿真,说明程序中各语句的作用,详细描述其功能特点,给出其所有信号的时序仿真波形。打开QUARTUS 后,建立一个文本文件然后在文本编辑器中输入以下程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT ( CLK,RST,EN : IN STD_LOGIC; CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC );END CNT10;ARCHITECTURE behav OF CNT10 ISBEGIN PROCESS(CLK,RST,EN) VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST=1 THEN CQI:=(OTHERS=0); -计数器复位 ELSIF CLKEVENT AND CLK=1 THEN -检查时钟上升沿 IF EN=1 THEN -检查是否允许计数 IF CQI0); -大于9计数器清零 END IF; END IF; END IF; IF CQI = 9 THEN COUT=1;-计数大于9,输出进位信号 ELSE COUT=0; END IF; CQ=CQI;-将计数值向端口。 END PROCESS;END behav;再建立一个波形文件,进行时序仿真后得到图(一): 图(一)四、思考题:理解时序逻辑电路的设计的方法。实验五 数控偶数倍分频器的设计一、实验目的:1、 学习数控分频器的设计、分析和测试方法。2、 学习偶数倍分频器的设计。二、实验原理:数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比。数控偶数倍分频器可以用加法计数器来实现-将计数溢出位与预置数加载输入信号相接即可。三、实验内容:1:根据逻逻辑功能,用文本输入法设计程序如下:程序一、 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fenpin IS PORT ( CLK : IN STD_LOGIC; D : IN INTEGER RANGE 0 TO 255; FOUT : OUT STD_LOGIC );END;ARCHITECTURE one OF fenpin IS SIGNAL FULL : STD_LOGIC;SIGNAL TMEP :INTEGER RANGE 0 TO 255; BEGIN TMEP=D/2; P_REG: PROCESS(CLK) VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CNT8 = TMEP THEN CNT8 := 00000000; FULL = 1; ELSIF CLKEVENT AND CLK = 1 THEN CNT8 := CNT8 + 1; FULL = 0; end if; END PROCESS P_REG ; P_DIV: PROCESS(FULL) VARIABLE CNT2 : STD_LOGIC; BEGIN IF FULLEVENT AND FULL = 1 THEN CNT2 := NOT CNT2; IF CNT2 = 1 THEN FOUT = 1; ELSE FOUT = 0; END IF; END IF; END PROCESS P_DIV ;END;程序二、LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fenpin IS PORT ( CLK : IN STD_LOGIC; D : IN STD_LOGIC_vector(7 downto 0); FOUT : OUT STD_LOGIC );END;ARCHITECTURE one OF fenpin IS SIGNAL FULL : STD_LOGIC;SIGNAL TMEP : STD_LOGIC_vector(7 downto 0); BEGINTmep(6 downto 0)=d(7 downto 1);Tmep(7)=d(0); P_REG: PROCESS(CLK) VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CNT8 = TMEP THEN CNT8 := 00000000; FULL = 1; ELSIF CLKEVENT AND CLK = 1 THEN CNT8 := CNT8 + 1; FULL = 0; end if; END PROCESS P_REG ; P_DIV: PROCESS(FULL) VARIABLE CNT2 : STD_LOGIC; BEGIN IF FULLEVENT AND FULL = 1 THEN CNT2 := NOT CNT2; IF CNT2 = 1 THEN FOUT = 1; ELSE FOUT = 0; END IF; END IF; END PROCESS P_DIV ;END;*理解进程P_REG和P_DIV的作用。2:输入不同的CLK频率和预置值D,给出时序波形如图一。图一3:扩展成16位分频器,并提出此项设计的数项实用示例。仿真图如图二。图二四、思考题:请给出几种分频电路的不同的设计方法。实验六 用状态机实现序列检测器的设计一、实验目的1、熟悉状态机的作用及设计方法;2、学习用状态机实现序列检测器的设计,并对其进行仿真和硬件测试。二、实验原理序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果与检测器预先设置的码相同,则输出为1,否则输出为0。三、实验内容1、状态转换图2、设计一个序列检测器,对1110010进行检测。程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CHECK ISPORT(CLK,XI,CLR:IN STD_LOGIC;ZO:OUT STD_LOGIC);END CHECK ;ARCHITECTURE STR OF CHECK ISTYPE STATES IS(S0,S1,S2,S3,S4,S5,S6,S7);SIGNAL STATE: STATES;BEGINPROCESS(clk,XI,clr,STATE) BEGIN IF CLR=1 THEN STAT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论