ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:125.22KB ,
资源ID:6217749      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6217749.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA实验报告分析.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA实验报告分析.docx

1、EDA实验报告分析EDA验报告 班级: 姓名: 学号: 实验一 EDA工具基本操作与应用1、实验目的 1、掌握QUARTUSII设计工具进行电子设计的基本流程。 2、了解可编程器件设计的全过程。二、 实验内容 一个简单的D触发器的设计。三、实验条件 QUARTUSII软件,GW48试验箱,计算机。四、实验设计 (1)系统的原理框图 (2)VHDL源程序LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DCFQ IS PORT (D,CLK : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ENTITY DCFQ

2、; ARCHITECTURE ART OF DCFQ IS BEGIN PROCESS (CLK) IS BEGIN IF ( CLKEVENT AND CLK = 1) THEN Q = D ; END IF ; END PROCESS ; END ARCHITECTURE ART; (3)管脚锁定实验设备:CW48系统;试验芯片:EP1C6/12Q240; 试验模式:NO.1;五、实验结果及总结(1)系统仿真情况(2)硬件验证情况CLK010101010D100010011Q000001010(3)实验过程中出现的问题及解决办法 在仿真的过程中,把时钟频率调低时,发现有延迟。实验二 8位加

3、法器的设计一、实验目的 1、掌握QUARTUSII设计工具进行电子设计的基本流程。 2、了解可编程器件设计的全过程。二、 实验内容 设计一个简单的8位加法器三、实验条件 QUARTUSII软件,GW48试验箱,计算机。4、实验设计 一、基本原理:调用库(USE IEEE.STD_LOGIC_ARITH.ALL)直接进行算术运算,以实现加法器功能,从而不用去编写全加器,即程序尽量简单化。并用函数CONV_INTEGER(D)把输入的8位二进制数转换成整形数,再相加以十进制数在数码管上显示出来。加法信号由(ST)控制,ST接一个正脉冲信号,当来一个下降沿时,就读进第一个8位二进制数,再来一个下降沿

4、时就执行加法功能,前后两个8位二进制数相加。进程process(p)就是把三位十进制数的百位、十位、各位分别取出来,再转换成4位逻辑位矢量。一个简单加法器,能够实现加法运算并显示结果,在按键控制下,由开关变量以二进制(不超过8位)的形式送入加数和被加数,但必须以十进制的形式显示,按下加法按键后,以十进制方式显示结果。根据要求首先加法器中必须有二进制(8位)转换成十进制电路,其次加法器中需要用开关变量来控制加数和被加数的输入,再次输入的二进制加数和被加数必须经过转换成十进制后显示,最后加法完成结果以十进制显示。其二进制(8位)全为1时转换成十进制表示为255,先设三位分别表示十进制数的百位、十位

5、和个位。将二进制数分别减去100的二进制数,循环直至二进制数小于100,百位循环一次加一,根据同样的道理得出十位和个位。加数和被加数的输入和显示,利用高低电平控制显示器,当电平为高电平时显示加数和被加数的和,利用选择器来分别选择输出显示,当低电平时分别显示输入的二进制加数和被加数。 加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。多位加法器的构成有两种方式:并行进位和串行进位。并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。并行进位加法器通常比串行级联加法器占用更多的资源。随着位数的增加,相同位数的并行加法器与串行加法器的资源占用

6、差距也越来越大。因此,在工程中使用加法器时,要在速度和容量之间寻找平衡点。程序总体设计框图如图2.1所示: 动态扫描显示电路输入图2.1 程序总体设计框图 二、 单元电路设计一个简单8位加法器,能够实现加法运算并显示结果,在按键控制下,由开关变量以二进制(不超过8位)的形式送入加数和被加数,但必须以十进制的形式显示,按下加法按键(ST)后,以十进制方式显示结果。调用库(USE IEEE.STD_LOGIC_ARITH.ALL)直接进行算术运算,以实现加法器功能,从而不用去编写全加器,即程序尽量简单化。并用函数CONV_INTEGER(D)把输入的8位二进制数转换成整形数,再相加以十进制数在数码

7、管上显示出来。加法信号由(ST)控制,ST接一个正脉冲信号,当来一个下降沿时,就读进第一个8位二进制数,再来一个下降沿时就执行加法功能,前后两个8位二进制数相加。进程process(p)就是把三位十进制数的百位、十位、各位分别取出来,再转换成4位逻辑位矢量。8位二进制加法器电路如图3.1所示: 图3.1 八位二进制加法器电路图8位二进制加法器程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY adder_8 IS PORT(

8、 ST : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); BAI: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); SHI: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); GE : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END adder_8; ARCHITECTURE BHV OF adder_8 ISSIGNAL A,B,C,P,Q: INTEGER RANGE 0 TO 999;BEGINPROCESS(ST)BEGINQ=CONV_INTEGER(D);IF S

9、TEVENT AND ST=1 THEN P=Q+P;ELSE P=P;END IF;END PROCESS;PROCESS(P) BEGIN A=P/100; B=(P MOD 100)/10; C=P MOD 10; BAI=CONV_STD_LOGIC_VECTOR(A,4); SHI=CONV_STD_LOGIC_VECTOR(B,4); GE BT = 00000001 ; A BT = 00000010 ; A BT = 00000100 ; A BT = 00001000 ; A BT = 00010000 ; A BT = 00100000 ; A BT = 01000000

10、; A BT = 10000000 ; A NULL ; END CASE ; END PROCESS P1;P2:PROCESS(CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN CNT8 SG SG SG SG SG SG SG SG SG SG SG SG SG SG SG SG NULL ; END CASE ; END PROCESS P3; END;三、 波形仿真结果分析8位二进制加法器功能仿真结果如图4.1所示:图4.1 8位二进制功能仿真结果【D】是输入端,由8个开关控制,【ST】是输入端,接正脉冲信号,【BAI】、【SHI】、【GE】都是输出端,

11、分别是以个3位十进制数的百位、十位和各位。加法信号由(ST)控制,ST接一个正脉冲信号,当来一个下降沿时,就读进第一个8位二进制数,再来一个下降沿时就执行加法功能,前后两个8位二进制数相加。相加结果由3位十进制数通过数码管显示出来。四、 安装调试步骤安装与调试过程是设计元件由虚拟变成事实最为重要的一步,安装就代表着元件的测试操作,也是检验仿真是否真正有效的最重要的步骤.所以在整个设计中安装调试便是最后一步也是前面所有步骤中的一个验收。安装调试的成败直接验证实验的正确性。但是在安装调试中我们也需要注意首先得确保仿真测试正确无误,然后引脚锁定并编译,接着将实验板连接好,接好电源就可以下载了。下载完

12、成后就可以调试,根据设计的要求来分别验证试验的结果,比如我们做加法器时,调试过程便是验证加法器的实现,先利用高电平来控制程序的有效,先输入一个八位二进制数,显示段是否显示其对应的十进制数,拨加法控制器,再在输入端输入被加数(八位二进制数),同样看被加数是否在显示段出现其十进制数,按下等号控制器,显示段便显示结果。结果为要求显示的结果即实现加法功能。当安装调试过程正确完成后,即设计的最后一步完成。整个设计也即完成。断掉电源拆线,整理实验台。实验三 序列器的设计一、 实验目的及要求1 了解序列检测器的工作原理;2 掌握时序电路设计中状态机的应用;3 进一步掌握用VHDL 语言实现复杂时序电路的设计

13、过程。2、实验内容 1.了解序列检测器的工作原理; 2.掌握时序电路设计中状态机的应用; 3.进一步掌握用VHDL 语言实现复杂时序电路的设计过程。3、实验条件一、实验原理:1) 序列检测器在很多数字系统中都不可缺少,尤其是在通信系统当中。序列检测器的作用就是从一系列的码流中找出用户希望出现的序列,序列可长可短。比如在通信系统中,数据流帧头的检测就属于一个序列检测器。序列检测器的类型有很多种,有逐比特比较的,有逐字节比较的,也有其他的比较方式,实际应用中需要采用何种比较方式,主要是看序列的多少以及系统的延时要求。现在就逐比特比较的原理简单的介绍一下。2)逐比特比较的序列检测器是在输入一个特定波

14、特率的二进制码流中,每进一个二进制码,预期望的序列相比较。首先比较第一个码,如果第一个码与期望的序列的第一个码相同,那么下一个进来的二进制码再和期望的序列的第二个码相比较,依次比较下去,直到所有的码都和期望的序列相一致,就认为检测到一个期望的序列。如果检测过程中出现一个码与期望的序列当中对应的码不一样,则从头开始比较。实验内容: 本实验就是要设计一个序列检测器,要求检测的序列长度为8 位,实验中用拨挡开关的SW1SW8 来作为外部二进制码流的输入,在FPGA 内部则是逐个比较。同时用按键模块的S1 来作为一个启动检测信号,每按下S1 一次,检测器检测一次,如果序SW1SW8 输入的序列与VHD

15、L 设计时期望的序列的一致,则认为检测到一个正确的序 本实验设计一个频率计,系统时钟选择核心板上的50MHz的时钟,闸门时间为1s,在闸门为高电平期间,对输入的频率进行计数,当闸门变低的时候,记录当前的频率值,并将频率计数器清零,频率的显示每过2秒刷新一次。被测频率通过一个拨动开关来选择是使用系统中的数字时钟源模块的时钟信号还是从外部通过系统的输入输出模块的输入端输入一个数字信号进行频率测量。当拨动开关为高电平时,测量从外部输入的数字信号,否则测量系统数字时钟信号模块的数字信号。步骤如下:1 打开QUARTUSII 软件,新建一个工程。2 建完工程之后,再新建一个VHDL File,打开VHD

16、L 编辑器对话框。3 按照实验原理和自己的想法,在VHDL 编辑窗口编写VHDL 程序,参照提供的示例程序。4 编写完VHDL 程序后,保存起来。方法同实验一。5 将编写的VHDL 程序进行编译并生成模块符号文件,并对程序的错误进行修改,最终所有程序通过编译并生成模块符号文件。 QUARTUSII软件,GW48试验箱,计算机。列,否则如果有一个不同,则认为没有检测到正确的序列。另外为了便于观察,序列检测结果用一个LED 显示,本实验中用LED 模块的D1来显示,如果检测到正确的序列,则LED 亮起,否则LED 熄灭;用数码管来显示错误码的个数。另外就是序列检测时钟信号的输入,本实验选择时钟模块

17、的1KHz信号。实验步骤:1) 打开QUARTUSII 软件,新建一个工程。2) 建完工程之后,再新建一个VHDL File,打开VHDL 编辑器对话框。3) 按照实验原理和自己的想法,在VHDL 编辑窗口编写VHDL 程序,用户可参照光盘中提供的示例程序。4) 编写完VHDL 程序后,保存起来。方法同实验一。5) 对编写的VHDL 程序进行编译并仿真,对程序的错误进行修改。6) 编译仿真无误后,依照用户手册进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。7) 用下载电缆通过JTAG 口将对应的sof 文件加载到FPGA 中。8) 将数字信号源模块F的时钟选择为1KHZ,拨动八位

18、拨动开关(SW8SW1),使其为一个二进制数值,注意此时SW8代表高位。按下键盘模块的S1 键开始检测。如果八位拨动开关设定的二进制值与程序设定的11001100值相同,观察发光管模块的D1 的状态以及数码管上显示的值。如果与程序设定的值不同,观察发光管模块的D1的状态以及数码管上显示的值。观察实验结果是否与自己的编程思想一致。9) 实验完毕,关闭电源,整理实验器材。五、实验分析及总结 一、 VHDL程序: - Title:序列检测器 - - Author: - - Data: 2006-10-1 - -library ieee;use ieee.std_logic_1164.all;use

19、ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all; -entity exp18 is port( Clk : in std_logic; -时钟输入 K : in std_logic_vector(7 downto 0); -序列输入 Start : in std_logic; -输入:启动检测 ledag : out std_logic_vector(6 downto 0); del : out std_logic_vector(7 downto 0); -结果输出 led : out std_logic ); end exp1

20、8;-architecture behave of exp18 is signal m_Count : integer range 0 to 15; signal Start_Flag : std_logic; signal Error_Num : std_logic_vector(3 downto 0); signal ABC : std_logic_vector(7 downto 0); signal m_Result : std_logic_vector(7 downto 0); signal led_count : std_logic_vector(6 downto 0); signa

21、l sel_count : std_logic_vector(2 downto 0); signal sel: std_logic_vector(2 downto 0); begin ABC=11001100; -待检测序列值 process(Clk) begin if(Clkevent and Clk=1) then if(Start=0) then Start_Flag=7) then Start_Flag=0; end if; end if; end process; process(Clk) -计数器累加 begin if(Clkevent and Clk=1) then if(Sta

22、rt=0) then m_Count=0; elsif(Start_Flag=1) then m_Count=m_Count+1; else m_Count=15; end if; end if; end process; process(Clk) -波形判断 begin if(Clkevent and Clk=1) then if(Start=0) then Error_Num=0000; elsif(m_Count=7 and K(m_Count)/=ABC(m_Count) then Error_Num=Error_Num+1; end if; end if; end process;

23、process(Clk) -波形判断 begin if(Clkevent and Clk=1) then if(Start=0) then m_Result(7 downto 4)=0000; elsif(m_Count=8) then if(Error_Num=0000) then m_Result(7 downto 4)=1000; else m_Result(7 downto 4)=0000; end if; end if; m_Result(3 downto 0)=Error_Num; end if; end process;process(Clk) -显示位选 begin if(Cl

24、kevent and Clk=1) then sel_count=sel_count+1; end if; selled_countled_countled_countled_countled_countled_countled_countled_countled_countled_countled_countled_count=0000000; -全灭 end case; ledag=led_count; end process; process(Error_Num) -检测数据是否正确 begin if(Error_Num=0000) then led=1; else led=0; end if; end process; process(sel) begin

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1