Xilinx社区
首页 > 参考设计 > 基于赛灵思FPGA的频率计设计
参考设计
基于赛灵思FPGA的频率计设计
来源:网络  时间:2013-01-25  浏览量:2114

第四步,将测得的频率锁存,即设计锁存器:

-------------------------------------------------------------------
-- 说明: 锁存器模块
-- 文件: suocun.vhd
-- 作者:
-- 日期: 2012/04/09
-- 修改:
-- 软件: Altera QuartusII 9.0
-- 芯片: Altera Cyclone FPGA (EP1C3T144C8)
-------------------------------------------------------------------


LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL; --运算符重载的一个头文件


--实体描述部分
ENTITY suocun IS
PORT( --端口声明
RESET, CLK1HZ : IN STD_LOGIC;
AIN0,AIN1,AIN2,AIN3 : IN STD_LOGIC_VECTOR (3 DOWNTO 0);
Q0,Q1,Q2,Q3 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)
);
END suocun;


--结构体描述部分
ARCHITECTURE bhv OF suocun IS
BEGIN
PROCESS(CLK1HZ) --这里输入的1HZ是来自控制模块的LOAD,LOAD是1HZ的信号
VARIABLE T3,T2,T1,T0 : STD_LOGIC_VECTOR (3 DOWNTO 0);--定义变量
BEGIN
IF RESET = '0' THEN --复位信号为低电平有效,当RESET=0时,将所有值清零
T3 := 0000 ;
T2 := 0000 ;
T1 := 0000 ;
T0 := 0000 ;
ELSIF (CLK1HZ'EVENT AND CLK1HZ='1') THEN --根据题目要求,LOAD上升沿锁存数据
T3:=AIN3;
T2:=AIN2;
T1:=AIN1;
T0:=AIN0;
END IF;
Q3 = T3;
Q2 = T2;
Q1 = T1;
Q0 = T0;
END PROCESS; --进程结束

END bhv; --结束结构体

最后是译码输出在数码管显示:

-------------------------------------------------------------------
-- 说明: 译码器设计
-- 文件: decoder.vhd
-- 作者:
-- 日期: 2012/04/09
-- 修改:
-- 软件: Altera QuartusII 9.0
-- 芯片: Altera Cyclone FPGA (EP1C3T144C8)
-------------------------------------------------------------------

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;

ENTITY decoder IS
PORT(
ain : IN STD_LOGIC_VECTOR (3 DOWNTO 0);
yout : OUT STD_LOGIC_VECTOR (6 DOWNTO 0)
);
END decoder;


ARCHITECTURE yimaqi OF decoder IS
BEGIN
PROCESS ( ain )
BEGIN
CASE ain IS
WHEN 0000 => yout= 0111111; --0
WHEN 0001 => yout= 0000110; --1
WHEN 0010 => yout= 1011011; --2
WHEN 0011 => yout= 1001111; --3
WHEN 0100 => yout= 1100110; --4
WHEN 0101 => yout= 1101101; --5
WHEN 0110 => yout= 1111101; --6
WHEN 0111 => yout= 0000111; --7
WHEN 1000 => yout= 1111111; --8
WHEN 1001 => yout= 1101111; --9
WHEN 1010 => yout= 1110111; --A
WHEN 1011 => yout= 1111100; --B
WHEN 1100 => yout= 0111001; --C
WHEN 1101 => yout= 1011110; --D
WHEN 1110 => yout= 1111001; --E
WHEN 1111 => yout= 1110001; --F
WHEN OTHERS => NULL;
END CASE;
END PROCESS;
END yimaqi;

热点文章
精选视频
推荐资源

中国授权培训机构

北京 电话:(010)82757632
      (010) 62192881
深圳 电话:(0755)86186715
武汉 电话:(027)61389792
成都 电话:(028)80821007
南京 电话:(025)66022032
西安 电话:(029)82230498
邮箱:sales@e-elements.com

中国授权经销商

香港 电话:(852)22127848
北京 电话:(010)84148118
成都 电话:(028)86528262
上海 电话:(021)33678387
深圳 电话:(0755)26584925
武汉 电话:(027)87322806
邮箱:china@avent.com
深圳 电话:(0755)26743210
上海 电话:(021)51696680
北京 电话:(010)51726678
成都 电话:(028)85139576
武汉 电话:(027)87690155
邮箱:
xilinx_enquiry@comtech.com.cn

社区主办


《电子产品世界》杂志社

内容提供


    赛灵思公司

Copyright ©2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
京ICP备12027778号-2 北京市公安局备案:1101082052