名称:基于FPGA的二分频异步复位8进制减法计数器VHDL代码ISE仿真(文末获取)
软件:Quartus
语言:VHDL
代码功能:二分频异步复位8进制减法计数器
二分频异步复位8进制减法计数器----行为级描述
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; --二分频异步复位8进制减法计数器 ENTITY counter_sub8 IS PORT (-- 端口描述 clk : IN STD_LOGIC; reset : IN STD_LOGIC; W : IN STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(2 DOWNTO 0) ); END counter_sub8; --行为级描述 ARCHITECTURE behave OF counter_sub8 IS SIGNAL clk1 : STD_LOGIC := '0';--二分频时钟 SIGNAL count : STD_LOGIC_VECTOR(2 DOWNTO 0) := "111"; BEGIN PROCESS (clk) BEGIN IF (clk'EVENT AND clk = '1') THEN clk1 <= NOT(clk1);--二分频 END IF; END PROCESS; PROCESS (clk1, reset) BEGIN IF (reset = '1') THEN--异步复位 count <= "000"; ELSIF (clk1'EVENT AND clk1 = '1') THEN IF (W = '0') THEN count <= count;--W==0时不变 ELSE--行为级描述 count <= count - "001";--W==1时减法计数 END IF; END IF; END PROCESS; Q <= count;--输出计数值 END behave;
源代码
扫描文章末尾的公众号二维码