实验4-08021301-张阿伟.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验4-08021301-张阿伟

基于Quartus II的硬件描述语言电路设计一、实验要求 基本要求 1: 由四个数码管显示的计时电路, 低两位按照 20 进制设计,高两位按照 11进制设计。附加要求 1: 该计时电路具有校准功能,可以按 1Hz 频率校准高两位的显示,可以按 10Hz频率校准低两位的显示;附加要求 2: 高两位的进制可以任意设置。(不需要从新编译电路)附加要求 3:在计数到达某整点值时例如 0300 的时刻 (该值可以根据老师的要求设置),4盏 LED 灯一起按照 10Hz 闪烁 5 秒钟。实验代码与器件显示选择器的VHDL源文件module xuanze(clk0,clk1,choose,clk);input clk0;input clk1;input choose;output clk;reg clk;always if ( choose == 1b1 ) beginclk = clk0;end else if ( choose == 1b0 ) beginclk = clk1;endEndmodule生成的器件:选择器功能描述:选择1kHz和10kHz其中一个作为输出信号分频器的VHDL源文件library ieee;use ieee.std_logic_1164.all;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity fenpin isport(clk:in std_logic;---------input clk 50MHzclk_1Hz :out std_logic;clk_10Hz :out std_logic);-------输出clkend fenpin;architecture fwm of fenpin isconstant m:integer:=2500000;signal tmp1:std_logic;signal tmp2:std_logic;beginprocess(clk)variable cout1:integer:=0;variable cout2:integer:=0;beginif clkevent and clk=1 thencout1:=cout1+1;cout2:=cout2+1;if cout1=m*10 then tmp1=0;elsif cout1m*20 then tmp1=1;else cout1:=0;end if;if cout2=m then tmp2=0;elsif cout2m*2 then tmp2=1;else cout2:=0;end if;end if;end process;clk_1Hz=tmp1;clk_10Hz=tmp2;end fwm;生成的器件:分频器功能描述:输入50MHz的时钟信号,经分频器后输出频率为1Hz和10Hz的两个信号。计数器的VHDL源文件(2个)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity djishu isport(clk : in std_logic;d1 : out std_logic_vector(3 downto 0);d2 : out std_logic_vector(3 downto 0);c : out std_logic);END djishu;architecture fwm of djishu issignal dat1:std_logic_vector(3 downto 0);signal dat2:std_logic_vector(3 downto 0);BEGINprocess(clk)begin if clkevent and clk = 1 thenif dat1 = 1001 thendat1 =0000;if dat2 = 0001 thendat2 =0000;c=1;elsedat2=dat2+1;c=0;end if;elsedat1=dat1+1;c=0;end if;end if;end process;d1 = dat1;d2 = dat2;end fwm;生成的器件:低位计数器功能:将输出转换为两位十进制数LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_arith.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity gjishu isport(clk : in std_logic;jinzhi : in std_logic_vector(4 downto 0)

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档