实验八 数字频率计的设计 .pdf
实验八数字频率计的设计
1.实验目的
(1)学习QuartusII/ISESuite/ispLEVER软件的基本使用方法。
(2)学习GW48-CK或其他EDA实验开发系统的基本使用方法。
(3)了解VHDL基本逻辑电路的综合使用。
2.实验内容
设计并调试好8位十进制数字频率计,并用GW48-CK或其他EDA实验开
发系统(事先应选定拟采用的实验芯片的型号)进行硬件验证。
3.实验步骤
1、项目设计:
1)启动QuartusII,完成项目设置,顶层文件名LCNT8
2)打开VHDL编辑器将输入程序代码,保存
程序如下:
1、测控信号发生器TESTCTL:
USEieee.std_logic_unsigned.ALL;
LIBRARYieee;
USEieee.std_logic_1164.ALL;
USEieee.std_logic_unsigned.ALL;
ENTITYTESTCTLIS
PORT(clk:INstd_logic;
cnt_en,rst_cnt,load:OUTstd_logic);
ENDTESTCTL;
ARCHITECTUREbehaviorOFTESTCTLIS
SIGNALdiv2clk:std_logic;
BEGIN
PROCESS(clk)
BEGIN
IFclkeventANDclk=1THENdiv2clk=NOTdiv2clk;
ENDIF;
ENDPROCESS;
PROCESS(clk,div2clk)
BEGIN
IF(clk=0ANDdiv2clk=0)THENrst_cnt=1;
ELSErst_cnt=0;
ENDIF;
ENDPROCESS;
load=NOTdiv2clk;
cnt_en=div2clk;
ENDbehavior;
2、项目编译:
1)将设计文件设置为顶层文件
2)编译
3、功能仿真:
1)建立波形文件
2)参数设置
3)先再次编译,生成功能仿真的网表
4)点击波形仿真快捷键进行仿真,仿真结果如下
仿真波形:
2、十进制计数器CNT10:
LIBRARYieee;
USEieee.std_logic_1164.ALL;
USEieee.std_logic_unsigned.ALL;
ENTITYCNT10IS
PORT(clk,rst,ena:INstd_logic;
count:OUTstd_logic_vector(3DOWNTO0);
outy:OUTstd_logic);
ENDCNT10;
ARCHITECTUREbehaOFCNT10IS
SIGNALc1:std_logic_vector(3DOWNTO0);
BEGIN
PROCESS(clk,rst,ena)
BEGIN
IF(rst=1)THEN
c1=0000;
ELSIF(clkeventANDclk=1)THEN
IFena=1THENc1=c1+1;
IF(c1=1001)THENc1=0000;
ENDIF;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(clk)
BEGIN
IFclkeventANDclk=1THEN
IFc1=1001thenouty=1;
ELSEouty=0;
ENDIF