EDA在通信中的应用实验指导书32学时.docx
《EDA在通信中的应用实验指导书32学时.docx》由会员分享,可在线阅读,更多相关《EDA在通信中的应用实验指导书32学时.docx(22页珍藏版)》请在冰豆网上搜索。
EDA在通信中的应用实验指导书32学时
《EDA在通信中的应用》
实验指导书
石家庄经济学院
通信工程教研室
2014-8-21
注意事项
1.实验课旨在训练学生发现问题、分析问题、解决问题的能力,学生应本着尊重事实、认真的态度进行实验。
2.爱护实验设备,自觉维护实验室卫生。
3.实验课实行验收评分制度。
4.实验成绩=实验课评分*60%+实验报告*40%。
5.不允许缺席,如缺席,不论是否提交实验报告,该次实验成绩以0记。
6.不允许迟到,迟到按旷课记。
7.实验课之前应做好准备,熟悉实验内容,复习实验所涉及的课本相关内容。
8.实验课上,如果遇到问题,应勤于动脑,经过思考尚不能解决的,应不耻下问,向老师请教,以免耽误有限的实验课时间,影响实验课效果。
9.实验课后,按照要求认真、独立完成实验报告,实验报告要对给出的实验结果进行分析。
按时提交。
如不提交实验报告,实验成绩以0记。
目录
实验一QUARTUSⅡ设计入门…………………………………………4
实验二QUARTUSⅡ设计进阶…………………………………………4
实验三VHDL语法练习…………………………………………………8
实验四VHDL设计入门…………………………………………………11
实验五顺序语句的应用…………………………………………………14
实验六并行语句的应用…………………………………………………19
实验七元件例化及端口映射语句的应用………………………………22
实验八子程序语句的应用………………………………………………22
实验九有限状态机设计…………………………………………………22
实验一十串/并转换器和并/串转换器设计………………………………24
实验一十一基带码编码模块设计……………………………………………25
实验一十二基带码解码模块设计……………………………………………26
实验一十三信道编码模块设计………………………………………………28
实验一十四信道解码模块设计………………………………………………28
实验一十五基带传输通信系统发送模块设计………………………………30
实验一十六基带传输通信系统接收模块设计………………………………31
实验一QUARTUSⅡ设计入门
一实验目的:
QUARTUSⅡ是Altera公司提供的EDA工具,是当今业界最优秀的EDA设计工具之一,提供了一种与结构无关的设计环境,使得电子设计人员能够方便地进行设计输入、快速处理和器件编程。
通过本次实验使学生熟悉QUARTUSⅡ软件的安装,基本界面及基本操作,掌握图形输入法进行电路设计的步骤。
二实验仪器:
1.PC机一台
2.QUARTUS2软件
3.EDA实验箱
三实验内容:
1熟悉QUARTUSⅡ基本界面及操作。
2设计半加器。
半加操作就是求两个加数A、B的和,输出本位和数S及进位数C,其逻辑状态如表1.1所示。
表1.1半加器逻辑状态表
A
B
C
S
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
3利用图形输入法完成设计文件输入。
4对设计进行编译、仿真,并记录波形仿真图。
5将设计下载到实验箱,进行硬件的仿真验证。
四实验报告要求:
1给出设计思路。
2详细叙述利用QUARTUSⅡ图形输入方式进行电路设计的步骤。
主要步骤给出相应的结果。
对最终的波形仿真进行分析,得出结论。
实验二QUARTUSⅡ设计进阶
一实验目的:
本实验是一个简单的设计型实验,旨在让学生通过本次实验,进一步掌握利用QUARTUS2进行层次化电路设计的全过程,体会EDA自顶向下的设计思想。
二实验仪器:
1.PC机一台
2.QUARTUS2软件
3.EDA实验箱
三实验内容:
.
8选1数据选择器设计。
要求自上而下的设计方法,即先进行顶层设计,由两个4选1数据选择器的模块构成。
然后设计底层模块——4选1数据选择器,可用与非门和非门设计4选1数据选择器。
四实验报告要求:
1给出设计思路。
2详细叙述利用QUARTUSⅡ图形输入方式进行电路设计的步骤。
主要步骤给出相应的结果。
对最终的波形仿真进行分析,得出结论。
3思考题:
自顶向下的设计思想有什么优越性?
实验三VHDL语法练习
一实验目的:
本实验是通过对给定VHDL程序检错、纠错,使学生熟悉VHDL程序结构,掌握VHDL语言的基本语法规则,并掌握QUARTUSⅡ文本输入法进行组合逻辑电路设计的设计步骤。
二实验仪器:
1.PC机一台
2.QUARTUS2软件
3.EDA实验箱
三实验内容:
1.改正下列所给出的VHDL程序中存在的语法错误。
(1)libraryieee;
useieee.std_logic_1164.all;
entitynandis
port(a,b:
instd_logic;
y:
outstd_logic);
endnand;
architecturebehaveofnand
process(a,b)
variablecomb:
std_logic_vector(0downto1);
begin
comb:
=a&b;
casecombis
when”00”=>y<=’1’;
when”01”=>y<=’1’;
when”10”=>y<=’1’;
when”11”=>y<=’0’;
endcase;
endprocess;
endbehav2;
(2)libraryieee;
useieee.Std_logic_1164.all;
entityxoris
port(a,b:
instd_logic;
y:
outstd_logic);
endxor;
Architecturebehaveofxoris
process(a,b)
variablecomb:
std_logic_vector(1downto0);
begin
comb:
=a&b;
case combis
when”00”=>y<=’0’;
when”01”=>y<=’1’;
when”10”=>y<=’1’;
when”11“=>y<=’0’;
endcase;
endprocess;
endbehav2;
(3)LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYalu_abIS
PORT(a,b:
INSTD_LOGIC_VECTOR(7DOWNTO0);
operate:
INSTD_LOGIC_VECTOR(1DOWNTO0);
result:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDentityalu_ab;
ARCHITECTUREbehaveOFalu_abIS
CONSTANTplus:
STD_LOGIC_VECTOR(1DOWNTO0)<=b”00”;
CONSTANTminus:
STD_LOGIC_VECTOR(1DOWNTO0)<=b”01”;
CONSTANTand_ab:
STD_LOGIC_VECTOR(1DOWNTO0)<=b”10”;
CONSTANTor_ab:
STD_LOGIC_VECTOR(1DOWNTO0)<=b”11”;
BEGIN
PROCESS(operate,a,b)
BEGIN
CASEoperateIS
WHENplus=>result:
=a+b;
WHENminus=>result:
=a-b;
WHENand_ab=>result:
=aANDb;
WHENor_ab=>result:
=aORb;
WHENOTHERS=>result:
=a;
ENDCASE;
ENDPROCESS;
ENDarchitecturebehave;
2.分析其功能。
3.编译仿真。
实验四VHDL设计入门
一实验目的:
本实验是填空补全程序,旨在让学生进一步掌握VHDL设计的结构,掌握常用VHDL语法要素,并掌握QUARTUSⅡ文本输入法进行时序逻辑电路设计的设计步骤。
二实验仪器:
1.PC机一台
2.QUARTUS2软件
3.EDA实验箱
三实验内容:
1.填空。
下面程序是n输入与门的VHDL描述.
__________ieee;
use_____________________.all;
entityandnis
________(n:
integer); --类属参数声明
port( a:
in std_logic_vector(______downto0);
c:
out std_logic);
endentityandn;
________________behavof________is --结构体声明
begin
process(____)
_____________int:
std_logic; --变量声明
begin
int:
=_____; --变量赋初值
forIina'length–1downto0loop --循环判断
if(a(i)='0')then
int:
='0';
endif;
endloop;
c<=________; --输出判断结果
endprocess;
endbehav;
2.分析下面程序实现的功能,并分别生成元件,用图形输入法完成顶层设计。
编译仿真,下载到实验箱硬件验证。
(1)libraryieee;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYcountBCDIS
PORT(clk,clr,en:
INSTD_LOGIC;
q:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDcountBCD;
ARCHITECTUREbehavOFcountBCDIS
SIGNALcount_4:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
q<=count_4;
PROCESS(clk,clr)
BEGIN
IF(clr='1')THENcount_4<="0000";
ELSIF(clk'eventANDclk='1')THEN
IF(en='1')THEN
IF(count_4="1001")THENcount_4<="0000";
ELSEcount_4<=count_4+'1';
endif;
endif;
endif;
endprocess;
endbehav;
(2)LIBRARYieee;
USEieee.std_logic_1164.all;
ENTITYdec7sIS
PORT
(datain:
INSTD_LOGIC_VECTOR(3downto0);
dataout:
OUTSTD_LOGIC_VECTOR(7downto0));
ENDdec7s;
ARCHITECTUREdec7s_architectureOFdec7sIS
BEGIN
process(datain)
begin
casedatain(3downto0)is
when"0000"=>dataout<="00111111";when"0001"=>dataout<="00000110";
when"0010"=>dataout<="01011011";when"0011"=>dataout<="01001111";
when"0100"=>dataout<="01100110";when"0101"=>dataout<="01101101";
when"0110"=>dataout<="01111101";when"0111"=>dataout<="00000111";
when"1000"=>dataout<="01111111";when"1001"=>dataout<="01101111";
when"1010"=>dataout<="01110111";when"1011"=>dataout<="01111100";
when"1100"=>dataout<="00111001";when"1101"=>dataout<="01011110";
when"1110"=>dataout<="01111001";when"1111"=>dataout<="01110001";
whenothers=>dataout<=NULL;
endcase;
endprocess;
ENDdec7s_architecture;
实验五顺序语句的应用
一实验目的:
本实验是设计型实验,旨在让学生掌握使用VHDL常用顺序描述语句if语句、case语句的设计常见组合逻辑电路的方法。
二实验仪器:
1.PC机一台
2.QUARTUS2软件
3.EDA实验箱
三实验内容:
1.用case语句设计8421BCD码—十进制转换器,其逻辑关系如下表1所示。
输入
输出
0000
1111111110
0001
1111111101
0010
1111111011
0011
1111110111
0100
1111101111
0101
1111011111
0110
1110111111
0111
1101111111
1000
1011111111
1001
0111111111
输入
输出
S
D7
D6
D5
D4
D3
D2
D1
D0
A2
A1
A0
1
×
×
×
×
×
×
×
×
1
1
1
0
0
×
×
×
×
×
×
×
0
0
0
0
1
0
×
×
×
×
×
×
0
0
1
0
1
1
0
×
×
×
×
×
0
1
0
0
1
1
1
0
×
×
×
×
0
1
1
0
1
1
1
1
0
×
×
×
1
0
0
0
1
1
1
1
1
0
×
×
1
0
1
0
1
1
1
1
1
1
0
×
1
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
表18421BCD码—十进制转换器
表2优先级编码器
2用if语句设计优先级编码器。
逻辑关系如表2所示。
3.选作题:
用loop语句设计百人表决器。
即有100人参与,若50人以上(不含50)赞成,则投票通过,否则不通过。
实验六并行信号赋值语句的应用
一实验目的:
本实验包括一个程序改写和一个设计型实验,旨在使学生掌握VHDL常用并行语句信号赋值语句的使用。
二实验仪器:
1.PC机一台
2.QUARTUS2软件
3.EDA实验箱
三实验内容:
用VHDL语言编程实现数据选择器MUX,其系统模块图和功能表分别如下图6-1、表6-1所示。
要求:
分别用when-else条件信号赋值语句、选择信号赋值语句来描述该数据选择器MUX的结构体。
图6-1.MUX系统模块图表6-1.MUX系统功能表
四实验报告要求
分别给出设计文件及仿真结果。
并比较几种设计。
实验七元件例化及端口映射语句的应用
一实验目的:
本实验是一个设计型实验,旨在让学生掌握元件例化component及端口映射portmap语句的使用。
二实验仪器:
1.PC机一台
2.QUARTUS2软件
3.EDA实验箱
三实验内容:
1.用component语句两次调用元件MUX21A实现双2选1多路选择器MUXK并仿真。
图7-1所示的是双2选1多路选择器构成的电路MUXK,对于其中MUX21A,当s='0'和s='1'时,分别有y<='a'和y<='b'。
图7-1双2选1多路选择器构成的电路MUXK
2.选做题:
将下面电路原理图转化成VHDL程序,要求使用元件例化和端口映射语句。
实验八子程序语句的应用
一实验目的:
本实验是一个设计型实验,旨在让学生掌握子程序语句函数语句和过程语句的使用。
二实验仪器:
1.PC机一台
2.QUARTUS2软件
3.EDA实验箱
三实验内容:
图8-1所示的是双2选1多路选择器构成的电路MUXK,对于其中MUX21A,当s='0'和s='1'时,分别有y<='a'和y<='b'。
图8-1双2选1多路选择器构成的电路MUXK
(1).将MUX21A定义为过程,两次调用过程生成MUXK,并仿真。
(2).将MUX21A定义为函数,两次调用函数生成MUXK,并仿真。
实验九VHDL有限状态机设计
一实验目的:
本次实验是设计型实验,通过本次实验,使学生深入理解状态机的VHDL描述的固定语句表达方法,掌握状态机设计的状态说明方法、主控时序进程和主控组合进程的功能及实现方法。
二实验仪器:
1.PC机一台
2.QUARTUS2软件
三实验内容:
1.已知状态机状态图如图所示;完成下列各题:
(1)试判断该状态机类型,并说明理由。
(2)根据状态图,写出有限状态机的VHDL描述。
(3)给出仿真结果。
2.选做题:
序列检测器就是检测一组或多组序列信号,在数字通信、雷达和遥控遥测等领域中用于检测同步识别标志。
本例要求检测器连续收到一组串行码(1110010)后,输出检测标志为1;否则,输出为0。
实验十串并转换器设计
一实验目的:
本实验是一个设计型实验,旨在使学生熟练掌握使用VHDL语言(进程语句、LOOP语句)进行通信系统常用串并转换器的设计。
二实验仪器:
1.PC机一台
2.QUARTUS2软件
3.EDA实验箱
三实验内容:
串并转换器是电子通信系统经常用到的部件,比如在OFDM系统中,需要将串行的高速数据流分成多路并行的低速数据流。
串/并转换一般是利用移位寄存器实现的。
请用VHDL语言设计串并转换及并串转换器。
四实验报告要求:
1详细给出设计思路。
2给出设计文件,并逐行添加注释。
3给出仿真结果,并分析得出结论。
实验十一基带码发生器设计
一实验目的:
本实验是一个设计型实验,旨在使学生掌握使用VHDl语言设计通信系统常用基带码发生器的方法。
二实验仪器:
1.PC机一台
2.QUARTUS2软件
3.EDA实验箱
三实验内容:
实际基带传输系统中,并不是所有基带电波形都能在信道中传输。
如:
含有丰富直流和低频成分的基带信号就不适宜在信道中传输,因为它有可能造成信号的畸变。
常用传输码:
AMI码(信号交替反转码AlternateMarkInversion)是一种将消息代码0(空号)和1(传号)按如下规则编码的码。
编码规则:
0→0,1交替变换为+1,-1,通常脉冲宽度为码元周期之半,形成三元的双极性归零码。
消息:
10011000111
AMI码:
+100-1+1000-1+1-1
特点:
(1)基带信号正、负脉冲交替,0电位保持不变。
因此没有直流成分。
(2)全波整流后即为单极性RZ码。
(3)原信号出现长串0时,信号电平长时间不跳变,不利于提取高质量的位同步信号(位同步抖动大)。
四实验报告要求:
1详细给出设计思路。
2给出设计文件,并逐行添加注释。
3给出仿真结果,并分析得出结论。
实验十二基带码解码模块设计
一实验目的:
本实验是一个设计型实验,旨在使学生掌握通信系统中在接收端将基带码还原为发送信号的VHDL设计方法。
二实验仪器:
1.PC机一台
2.QUARTUS2软件
3.EDA实验箱
三实验原理:
同实验十一。
四实验报告要求:
1详细给出设计思路。
2给出设计文件,并逐行添加注释。
3给出仿真结果,并分析得出结论。
实验十三信道编码模块设计
一实验目的:
本次实验是设计型实验,旨在使学生掌握通信系统中常用的差错控制编码电路的设计。
二实验仪器:
1.PC机一台
2.QUARTUS2软件
三实验内容:
用VHDL语言设计实现奇偶校验电路的编码电路。
在数据传输过程中,由于受到噪声干扰或传输中断等因素的影响容易使接收到的数据出现误码。
为了能及时可靠地把数据传输给对方并有效地检测错误,在传输时有必要进行校验,而奇偶校验是常用的一种检错码奇偶校验码是一种通过增加冗余位使得码字中”1”的个数恒为奇数或偶数的编码方法。
其局限性是只能检测出奇数个错误,但由于其简单方便,在数据传输的差错控制上仍然得到广泛的使用。
奇偶监督码可分为奇数监督码和偶数监督码两种,两者的原理相同。
在偶数监督码中,无论信息位有多少,监督位只有一位,它使码组中“1”的数目为偶数,即满足下式条件
a0为监督位,其他为信息位。
表8-1中的编码,就是按照这种规则加入监督位的。
这种码能够检测奇数个错码。
在接收端,按照上式将码组中各码元相加(模2),若结果为“1”。
就说明存在错码,为“0”就认为无错。
奇监督码情况相似,只是码组中“1”的数目为奇数。
四实验报告要求:
1详细给出设计思路。
2给出设计文件,并逐行添加注释。
3给出仿真结果,并分析得出结论。
实验十四信道解码模块设计
一实验目的:
本次实验是设计型实验,旨在使学生掌握通信系统中常用的差错控制解码电路的设计。
二实验仪器:
1.PC机一台
2.Q