VHDL实验报告.doc

VHDL实验报告.doc

ID:48049248

大小:244.87 KB

页数:17页

时间:2020-01-21

VHDL实验报告.doc_第1页
VHDL实验报告.doc_第2页
VHDL实验报告.doc_第3页
VHDL实验报告.doc_第4页
VHDL实验报告.doc_第5页
资源描述:

《VHDL实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、VHDL实验报告5090309160庄炜旭实验三.4位可逆计数器,4位可逆二进制代码-格雷码转换器设计一.实验目的学习时序电路的设计,仿真和硬件测试,进一步熟悉VHDL设计技术1. 学习4位可逆计数器的设计2. 学习4位可逆二进制代码-格雷码转换器设计二.实验内容设计4位可逆计数器,及4位可逆二进制代码-格雷码转换器,并仿真,下载。[具体要求]1.4位可逆计数器a)使用CLOCK_50作为输入时钟,其频率为50MHz(对于频率大于50Hz的闪烁,人眼会看到连续的光),因而,对其进行225的分频后,再用于时钟控制。(可利用实验一)b)使用拨

2、码开关SW17作为模式控制,置‘1’时为加法计数器,置‘0’时为减法计数器,同时使用LEDR17显示SW17的值。c)使用KEY3作为异步复位开关(按下时为0,不按为1),当为加法计数器时,置“0000”,当为减法计数器时,置“1111”。d)使用LEDR3,LEDR2,LEDR1,LEDR0作为转换后的输出结果显示,LEDR3为高位,LEDR0为低位。2.4位可逆二进制代码――格雷码转换器a)使用拨码开关SW17作为模式控制,置‘1’时为二进制代码―>格雷码转换,置‘0’时为格雷码―>二进制代码,同时使用LEDR17显示SW17的值。b

3、)使用拨码开关SW3,SW2,SW1,SW0作为输入的被转换数,SW3为高位,SW0为低位。c)使用LEDR3,LEDR2,LEDR1,LEDR0作为转换后的输出结果显示,LEDR3为高位,LEDR0为低位。三.管脚设定SW[0]  PIN_N25SW[1]  PIN_N26SW[2]  PIN_P25SW[3]PIN_AE14SW[17]PIN_V2LEDR[0]  PIN_AE23LEDR[1]PIN_AF23LEDR[2]PIN_AB21LEDR[3]PIN_AC22LEDR[17]PIN_AD12KEY[3]PIN_W26CLOC

4、K_50PIN_N2四.相关知识二进制代码与格雷码相互转换  格雷码(GrayCode,简称G码)是典型的循环码,它是由二进制码(Binary,简称B码)导出的。特点是序号相邻的两组代码只有一位码不同(包括头尾两组代码),且具有循环性。上述特点使全部码组按序循环相邻,若以循环码表示一个循环过程中按顺序发生的状态,则任何状态变化只对应有一个变量发生变化,这个特点有助于提高电路的可靠性。五.思路及原理框图本实验分两个部分,首先是一个四位可逆计数器。这是一个比较基础的部分,每次时钟信号来的时候内置计数器加一或者减一,到十六或者零的时候相应跳变,

5、然后再把这个相应的信号转换到led灯上输出。第二部分是关于格雷码与二进制码的转换,如上表所示,它把转换关系都告诉我们,这样我们只需要读入单片机上面的输入,再通过几个简单的公式转化输出即可。框图如下:六.源代码LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.All;USEIEEE.STD_LOGIC_UNSIGNED.ALL;entitycountisport(clk_count:instd_logic;SW17:instd_logic;key3:instd_logic;led_out:outstd_logic_vec

6、tor(3downto0);ledr17:outstd_logic);endcount;architecturebofcountissignalcntQ:std_logic_vector(3downto0);signalcountQ:std_logic_vector(24downto0):="0000000000000000000000000";beginprocess(clk_count,SW17,key3)begin--u1:DIVportmap(clk_count,clk25);if(key3='0')thenif(sw17='1'

7、)thencntQ<="0000";elsecntQ<="1111";endif;elsif(clk_count'eventandclk_count='1')thencountQ<=countQ+1;if(countQ(24)='1')thencountQ<=(others=>'0');if(sw17='1')thencntQ<=cntQ+1;elsif(sw17='0')thencntQ<=cntQ-1;endif;endif;endif;endprocess;led_out<=cntQ;ledr17<=sw17;endb;------

8、--------entitygrayisport(sw:instd_logic_vector(17downto0);ledr:outstd_logic_vector(3downto0));en

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。