全加器仿真波形
全加器引脚锁定
实验芯片:EPF10K20TC144-4 选用模式:模式5 设计实体I/O标识 ain bin cin sum cout I/O来源/去向 键1 键2 键3 二极管D1 二极管D2 结构图上的信号名 PIO0 PIO1 PIO2 PIO8 PIO9 芯片引脚号 8 9 10 20 21 全加器真值表 ain bin cin sum cout 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 实验三 有时钟使能的两位十进制计数器VHDL文本输入设计
一、实验目的
1、熟悉MAX+plusII软件的基本使用方法。
2、熟悉GW48-ES EDA实验开发系统的基本使用方法。
3、学习时序电路的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
二、实验内容
设计并调试好一个有时钟使能的两位十进制计数器,并用GW48-ES EDA实验开发系统(拟采用的实验芯片的型号为EPF10K20TC144-4或EP1K30TC144-3)进行系统仿真、硬件验证。设计有时钟使能的两位十进制计
数器时要求先设计一个或门和一个十进制计数器,再由十进制计数器构成两位十进制计数器。
三、实验条件
1、开发条件:MAX+plusII
2、实验设备:GW48-ES EDA实验开发系统、联想电脑 3、拟用芯片:EPF10K20TC144-4或EP1K30TC144-3
四、实验设计
--十进制计数器(cnt10.vhd) LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY cnt10 IS
PORT (clk : IN STD_LOGIC; clr : IN STD_LOGIC; enb : IN STD_LOGIC; outy : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); cout : OUT STD_LOGIC); END cnt10;
ARCHITECTURE behav OF cnt10 IS BEGIN PROCESS(clk, clr, enb)
VARIABLE cqi : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF clr = '1' THEN cqi := \ ELSIF CLK'EVENT AND CLK = '1' THEN IF enb = '1' THEN IF cqi<\ ELSE cqi := \ END IF; END IF; END IF; outy <= cqi ; cout<=cqi(0) AND (NOT cqi(1)) AND (NOT cqi(2)) AND cqi(3); END PROCESS; END behav;
--两位十进制计数器(cnt100.vhd) LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY cnt100 IS
PORT (clkin : IN STD_LOGIC; clrin : IN STD_LOGIC; enbin : IN STD_LOGIC; outlow : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); outhigh : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
coutout : OUT STD_LOGIC); END ENTITY cnt100;
ARCHITECTURE one OF cnt100 IS COMPONENT cnt10 PORT (clk : IN STD_LOGIC; clr : IN STD_LOGIC; enb : IN STD_LOGIC; outy : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); cout : OUT STD_LOGIC); END COMPONENT; SIGNAL a : STD_LOGIC; BEGIN u1 : cnt10 PORT MAP(clk=>clkin, clr=>clrin, enb=>enbin, outy=>outlow, cout=>a); u2 : cnt10 PORT MAP(clk=>a, clr=>clrin, enb=>enbin, outy=>outhigh, cout=>coutout);
END ARCHITECTURE one;
十进制计数器仿真波形
两位十进制计数器仿真波形
两位十进制计数器管脚锁定 实验模式:NO:5 设计实体I/O标识 I/O来源/去向 信号名 芯片管脚序号 enbin clrin clkin coutout outlow[3..0] outhigh[3..0] 键1 键2 CLOCK0 二极管D1 数码管1 数码管2 PIO0 PIO1 CLOCK0 PIO8 PIO16~PIO19 PIO20~PIO23 8 9 54 20 30~33 36~39
实验五 4位十进制频率计VHDL文本输入设计
一、实验目的
1、熟悉MAX+plusII软件的基本使用方法。
2、熟悉GW48-ES EDA实验开发系统的基本使用方法。
3、学习时序电路的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
二、实验内容
设计并调试好一个有时钟使能的两位十进制计数器,并用GW48-ES EDA实验开发系统(拟采用的实验芯片的型号为EPF10K20TC144-4或EP1K30TC144-3)进行系统仿真、硬件验证。设计有时钟使能的两位十进制计数器时要求先设计一个或门和一个十进制计数器,再由十进制计数器构成两位十进制计数器。
三、实验条件
1、开发条件:MAX+plusII
2、实验设备:GW48-ES EDA实验开发系统、联想电脑 3、拟用芯片:EPF10K20TC144-4或EP1K30TC144-3
四、实验设计
--测频控制器(testctl.vhd) LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY TESTCTL IS
PORT ( CLKK : IN STD_LOGIC; -- 1Hz CNT_EN,RST_CNT,LOAD : OUT STD_LOGIC); END TESTCTL;
ARCHITECTURE behav OF TESTCTL IS SIGNAL DIV2CLK : STD_LOGIC; BEGIN
PROCESS( CLKK ) BEGIN
IF CLKK'EVENT AND CLKK = '1' THEN DIV2CLK <= NOT DIV2CLK; END IF;
END PROCESS;
PROCESS (CLKK, DIV2CLK) BEGIN
IF CLKK='0' AND Div2CLK='0' THEN RST_CNT <= '1'; ELSE RST_CNT <= '0'; END IF; END PROCESS;
LOAD <= NOT DIV2CLK ; CNT_EN <= DIV2CLK; END behav;

