人人范文网 范文大全

EDA_通信_实验指导书

发布时间:2020-03-02 15:18:17 来源:范文大全 收藏本文 下载本文 手机版

《EDA技术与VHDL》课程实验指导书

专业:通信工程

电子信息工程学院 编制

2013年9月

目 录

实验一

组合电路的设计 ................................................................2 实验二

时序电路的设计 ..............................错误!未定义书签。 实验三 8位全加器的设计 .............................错误!未定义书签。 实验四

含异步清零和同步时钟使能的加法计数器的设计错误!未定义书签。

实验五

十六进制七段数码显示译码器设计错误!未定义书签。 实验六

数控分频器的设计 ..........................错误!未定义书签。 实验七

序列检测器的设计 ..........................错误!未定义书签。

实训一

组合电路的设计

一、实验目的

熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。

二、实验内容

1:首先利用QuartusⅡ完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,给出仿真波形。最后在实验系统上进行硬件测试,验证本项设计的功能。

2:将此多路选择器看成是一个元件mux21a,利用元件例化语句描述一个双2选1多路选择器,并将此文件放在同一目录中。

三、实验仪器

ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。

四、实验原理

1、2选1多路选择器的VHDL源代码

ENTITY mux21a IS

PORT ( a, b, s: IN BIT;

y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS BEGIN

PROCESS (a,b,s) BEGIN

IF s = \'0\' THEN

y

END PROCESS; END ARCHITECTURE one ;

下图为本例2选1多路选择器的仿真图形

2、双2选1多路选择器 以下是部分参考程序: ...

COMPONENT MUX21A

PORT ( a,b,s :

IN STD_LOGIC;

y : OUT STD_LOGIC);

END COMPONENT ; ...

u1 : MUX21A PORT MAP(a=>a2,b=>a3,s=>s0,y=>tmp);

u2 : MUX21A PORT MAP(a=>a1,b=>tmp,s=>s1,y=>outy);

END ARCHITECTURE BHV ;

五、实验报告:

根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。

2

实训二

时序电路的设计

一、实验目的

熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序电路的设计、仿真和测试。

二、实验内容

1、设计一个D触发器,给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。

2、设计锁存器,同样给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。

三、实验仪器

ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。

四、实验原理

1、D触发器的VHDL源代码 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 IS

PORT (CLK : IN STD_LOGIC ;

D : IN STD_LOGIC ;

Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF1 IS

SIGNAL Q1 : STD_LOGIC ;

--类似于在芯片内部定义一个数据的暂存节点

BEGIN

PROCESS (CLK,Q1)

BEGIN

IF CLK\'EVENT AND CLK = \'1\'

THEN Q1

END IF;

END PROCESS ; Q

--将内部的暂存数据向端口输出(双横线--是注释符号)

END bhv;

2、锁存器的VHDL源代码 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF3 IS

PORT (CLK,D : IN STD_LOGIC ;

Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF3 IS

SIGNAL Q1 : STD_LOGIC; BEGIN

PROCESS (CLK,D) BEGIN

IF CLK = \'1\'

--电平触发型寄存器

THEN Q

END IF; END PROCESS

Q

--在此,赋值语句可以放在进程外,作为并行赋值语句

END ;

五、实验报告:

分析比较实验内容1和2的仿真和实测结果,说明这两种电路的异同点

4

实训三

8位全加器的设计

一、实验目的:

熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过1位全加器和8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。

二、实验内容

1,在QuartusII 6.0软件中完成1位全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。

2,建立一个更高层次的原理图设计,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。

三、实验仪器

1、ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。

2、并口延长线,JTAG延长线。(所有实验均包括,以下实验中均略去)

3、安装QuartusII 6.0软件的PC机。(所有实验均包括,以下实验中均略去)

四、实验原理

8位全加器可以利用8个1位全加器级联连接而成,全加器原理图的设计方法很多,我们可以选择一个设计方案来实现。先设计底层文件1位全加器,再设计顶层文件,通过调用1位全加器来实现8位全加器

五、实验注意事项:

实验指导书中的所有实验内容都是针对主板系统的核心芯片EP1K30QC208-2来设计的,实验原理中提供了管脚分配情况,管脚分配好后必须通过成功编译才可以下载配置。

六、实验报告

列出全加器的真值表。打印1位全加器和8位全加器仿真波形图贴于实验报告中。 用文字描述出怎样实现层次化设计。 1位全加器的实现方法很多,列举一二。

七、思考题

1、集成电路全加器芯片有7480、7483等,试述其内部结构是如何实现的?

2、参考全加器的设计思路设计出原理图输入的1位全减器。(提示:全加器的设计是根据真值表来建立最简表达式,最简表达式应该是一些基本门电路,同样全减器的设计也是如此)。

5

实训四

含异步清零和同步时钟使能的加法计数器的设计

一、实验目的

学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。

二、实验内容

1.在QuartusⅡ上对加法计数器的程序进行编辑、编译、综合、适配、仿真。说明例中各语句的作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形。

2.引脚锁定以及硬件下载测试。引脚锁定后进行编译、下载和硬件测试实验。将实验过程和实验结果写进实验报告。

三、实验仪器

ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块 LED显示模块。

四、实验原理

加法计数器的VHDL程序 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 IS BEGIN

PROCESS(CLK, RST, EN)

VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

IF RST = \'1\' THEN

CQI := (OTHERS =>\'0\') ; --计数器异步复位

ELSIF CLK\'EVENT AND CLK=\'1\' THEN

--检测时钟上升沿

IF EN = \'1\' THEN

--检测是否允许计数(同步使能)

IF CQI

CQI := CQI + 1;

--允许计数, 检测是否小于9

ELSE

CQI := (OTHERS =>\'0\');

--大于9,计数值清零

END IF;

END IF;

END IF;

IF CQI = 9 THEN COUT

--计数大于9,输出进位信号

ELSE

COUT

END IF;

CQ

--将计数值向端口输出

END PROCESS; END behav;

五、实验报告:

根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。

实训五 十六进制七段数码显示译码器设计

一、实验目的:

1.学习7段数码显示译码器设计。

2.学习VHDL的CASE语句应用及多层次设计方法

二、实验内容

.在QuartusⅡ上对七段数码显示译码器的程序进行编辑、编译、综合、适配、仿真。说明例中各语句的作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形。

提示:用输入总线的方式给出输入信号仿真数据。

三、实验仪器

ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块、LED显示模块。

四、实验原理

7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。 七段数码显示译码器VHDL程序 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DECL7S IS

PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);

LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ; END ; ARCHITECTURE one OF DECL7S IS BEGIN

PROCESS( A )

BEGIN

CASE A IS

WHEN \"0000\" => LED7S

WHEN \"0001\" => LED7S

WHEN \"0010\" => LED7S

WHEN \"0011\" => LED7S

WHEN \"0100\" => LED7S

WHEN \"0101\" => LED7S

WHEN \"0110\" => LED7S

WHEN \"0111\" => LED7S

WHEN \"1000\" => LED7S

WHEN \"1001\" => LED7S LED7S

WHEN \"1011\" => LED7S

WHEN \"1100\" => LED7S

WHEN \"1101\" => LED7S

WHEN \"1110\" => LED7S

WHEN \"1111\" => LED7S

WHEN OTHERS => NULL ;

END CASE ;

END PROCESS ; END ;

其参考仿真波形图为:

五、实验报告:

根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。

9

实训六 数控分频器的设计

一、实验目的:

学习数控分频器的设计、分析和测试方法。

二、实验内容

1、在QuartusⅡ上对数控分频器的程序进行编辑、编译、综合、适配、仿真。说明例中各语句功能、设计原理及逻辑功能,详述进程P_REG和P_DIV的作用,并画出该程序的RTL电路图。

2、给出其时序仿真波形。

提示:用输入总线的方式给出输入信号仿真数据。

三、实验仪器

ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块,LED显示模块。

四、实验原理

数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可,详细设计程序如下 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DVF IS

PORT (

CLK : IN STD_LOGIC;

D : IN STD_LOGIC_VECTOR(7 DOWNTO 0);

FOUT : OUT STD_LOGIC ); END; ARCHITECTURE one OF DVF IS

SIGNAL

FULL : STD_LOGIC; BEGIN

P_REG: PROCESS(CLK)

VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0);

BEGIN

IF CLK\'EVENT AND CLK = \'1\' THEN

IF CNT8 = \"11111111\" THEN

CNT8 := D;

--当CNT8计数计满时,输入数据D被同步预置给计数器

FULL

ELSE

CNT8 := CNT8 + 1; --否则继续作加1计数

FULL

--且输出溢出标志信号FULL为低电平

END IF;

END IF;

END PROCESS P_REG ;

P_DIV: PROCESS(FULL)

VARIABLE CNT2 : STD_LOGIC;

BEGIN

IF FULL\'EVENT AND FULL = \'1\' THEN

CNT2 := NOT CNT2; --如果溢出标志信号FULL为高电平,D触发器输出取反

IF CNT2 = \'1\' THEN FOUT

END IF;

END PROCESS P_DIV ; END;

参考仿真波形图如下:

五、实验报告:

根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。

11

实验七 序列检测器的设计

一、实验目的

用状态机实现序列检测器的设计,了解一般状态机的设计与应用。

二、实验内容

1、在QuartusⅡ上对序列检测器的程序进行编辑、编译、综合、适配、仿真。了解控制信号的时序,最后进行引脚锁定并下载完成硬件测试实验。

2、将8位待检测预置数作为外部输入信号,即可以随时改变序列检测器中的比较数据。写出此程序的符号化单进程状态机程序。并在QuartusⅡ上对序列检测器的程序进行编辑、编译、综合、适配、仿真。

三、实验仪器

ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块,LED显示模块。

四、实验原理

序列检测器可用于检测一组或多组二进制组成的脉冲序列信号,当检测器连续受到一组串行二进制码后,如果这组码与检测器中预置的码相同,则输出1,否则输出0.程序如下:

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 behav OF SCHK IS

SIGNAL Q : INTEGER RANGE 0 TO 8 ;

SIGNAL D : STD_LOGIC_VECTOR(7 DOWNTO 0); --8位待检测预置数(密码=E5H) BEGIN

D

PROCESS( CLK, CLR )

BEGIN

IF CLR = \'1\' THEN

Q

ELSIF CLK\'EVENT AND CLK=\'1\' THEN --时钟到来时,判断并处理当前输入的位

CASE Q IS

WHEN 0=> IF DIN = D(7) THEN Q

WHEN 1=> IF DIN = D(6) THEN Q

WHEN 2=> IF DIN = D(5) THEN Q

WHEN 3=> IF DIN = D(4) THEN Q

WHEN 4=> IF DIN = D(3) THEN Q

WHEN 5=> IF DIN = D(2) THEN Q

WHEN 6=> IF DIN = D(1) THEN Q

WHEN 7=> IF DIN = D(0) THEN Q

WHEN OTHERS => Q

END CASE ;

END IF ;

END PROCESS ;

PROCESS( Q )

--检测结果判断输出

BEGIN

IF Q = 8 THEN AB

--序列数检测正确,输出 “A”

ELSE

AB

--序列数检测错误,输出 “B”

END IF ;

END PROCESS ; END behav ;

五、实验报告

根据以上内容写出实验报告,包括设计原理、程序设计、程序分析、仿真分析、硬件测试和详细实验过程。

通信原理实验指导书(8个实验)

【开发版】《通信原理》实验指导书

实验教学指导书 移动通信

底盘实验指导书

VB实验指导书

CRM实验指导书

《操作系统》实验指导书

数据结构实验指导书

MATLAB实验指导书

MATLAB实验指导书

EDA_通信_实验指导书
《EDA_通信_实验指导书.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档