在这方面 VHDL项目 ,计数器以VHDL实现。计数器的测试台VHDL代码也与模拟波形一起呈现。

VHDL代码为柜台:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -- FPGA projects using Verilog code VHDL code -- fpga4student.com: FPGA projects, Verilog projects, VHDL项目 -- VHDL project: VHDL代码用于测试台的计数器 -- VHDL project: VHDL code for up counter entity UP_COUNTER is Port ( clk: in std_logic; -- clock input reset: in std_logic; -- reset input counter: out std_logic_vector(3 downto 0) -- output 4-bit counter ); end UP_COUNTER; architecture Behavioral of UP_COUNTER is signal counter_up: std_logic_vector(3 downto 0); begin -- up counter process(clk) begin if(rising_edge(clk)) then if(reset='1') then counter_up <= x"0"; else counter_up <= counter_up + x"1"; end if; end if; end process; counter <= counter_up; end Behavioral;
测试台VHDL代码:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; -- FPGA projects using Verilog code VHDL code -- fpga4student.com: FPGA projects, Verilog projects, VHDL projects -- VHDL project: VHDL代码用于测试台的计数器 -- VHDL project: Testbench VHDL code for up counter entity tb_counters is end tb_counters; architecture Behavioral of tb_counters is component UP_COUNTER Port ( clk: in std_logic; -- clock input reset: in std_logic; -- reset input counter: out std_logic_vector(3 downto 0) -- output 4-bit counter ); end component; signal reset,clk: std_logic; signal counter:std_logic_vector(3 downto 0); begin dut: UP_COUNTER port map (clk => clk, reset=>reset, counter => counter); -- Clock process definitions clock_process :process begin clk <= '0'; wait for 10 ns; clk <= '1'; wait for 10 ns; end process; -- Stimulus process stim_proc: process begin -- hold reset state for 100 ns. reset <= '1'; wait for 20 ns; reset <= '0'; wait; end process; end Behavioral;
仿真波形:

击落柜台的VHDL代码:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -- FPGA projects using Verilog code VHDL code -- fpga4student.com: FPGA projects, Verilog projects, VHDL projects -- VHDL project: VHDL代码用于测试台的计数器 -- VHDL project: VHDL code for down counter entity DOWN_COUNTER is Port ( clk: in std_logic; -- clock input reset: in std_logic; -- reset input counter: out std_logic_vector(3 downto 0) -- output 4-bit counter ); end DOWN_COUNTER; architecture Behavioral of DOWN_COUNTER is signal counter_down: std_logic_vector(3 downto 0); begin -- down counter process(clk) begin if(rising_edge(clk)) then if(reset='1') then counter_down <= x"F"; else counter_down <= counter_down - x"1"; end if; end if; end process; counter <= counter_down; end Behavioral;
TestBench VHDL代码用于柜台:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; -- FPGA projects using Verilog code VHDL code -- fpga4student.com: FPGA projects, Verilog projects, VHDL projects -- VHDL project: VHDL代码用于测试台的计数器 -- VHDL project: Testbench VHDL code for down counter entity tb_counters is end tb_counters; architecture Behavioral of tb_counters is component DOWN_COUNTER Port ( clk: in std_logic; -- clock input reset: in std_logic; -- reset input counter: out std_logic_vector(3 downto 0) -- output 4-bit counter ); end component; signal reset,clk: std_logic; signal counter:std_logic_vector(3 downto 0); begin dut: DOWN_COUNTER port map (clk => clk, reset=>reset, counter => counter); -- Clock process definitions clock_process :process begin clk <= '0'; wait for 10 ns; clk <= '1'; wait for 10 ns; end process; -- Stimulus process stim_proc: process begin -- hold reset state for 100 ns. reset <= '1'; wait for 20 ns; reset <= '0'; wait; end process; end Behavioral;
仿真波形:

上下计数器的VHDL代码:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -- FPGA projects using Verilog code VHDL code -- fpga4student.com: FPGA projects, Verilog projects, VHDL projects -- VHDL project: VHDL代码用于测试台的计数器 -- VHDL project: VHDL code for up-down counter entity UPDOWN_COUNTER is Port ( clk: in std_logic; -- clock input reset: in std_logic; -- reset input up_down: in std_logic; -- up or down counter: out std_logic_vector(3 downto 0) -- output 4-bit counter ); end UPDOWN_COUNTER; architecture Behavioral of UPDOWN_COUNTER is signal counter_updown: std_logic_vector(3 downto 0); begin -- down counter process(clk) begin if(rising_edge(clk)) then if(reset='1') then counter_updown <= x"0"; elsif(up_down='1') then counter_updown <= counter_updown - x"1"; -- count down else counter_updown <= counter_updown + x"1"; -- count up end if; end if; end process; counter <= counter_updown; end Behavioral;
测试台VHDL代码为上下计数器:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; -- FPGA projects using Verilog code VHDL code -- fpga4student.com: FPGA projects, Verilog projects, VHDL projects -- VHDL project: VHDL代码用于测试台的计数器 -- VHDL project: Testbench VHDL code for up-down counter entity tb_counters is end tb_counters; architecture Behavioral of tb_counters is component UPDOWN_COUNTER Port ( clk: in std_logic; -- clock input reset: in std_logic; -- reset input up_down: in std_logic; counter: out std_logic_vector(3 downto 0) -- output 4-bit counter ); end component; signal reset,clk,up_down: std_logic; signal counter:std_logic_vector(3 downto 0); begin dut: UPDOWN_COUNTER port map (clk => clk, reset=>reset, up_down => up_down, counter => counter); -- Clock process definitions clock_process :process begin clk <= '0'; wait for 10 ns; clk <= '1'; wait for 10 ns; end process; -- Stimulus process stim_proc: process begin -- hold reset state for 100 ns. reset <= '1'; up_down <= '0'; wait for 20 ns; reset <= '0'; wait for 300 ns; up_down <= '1'; wait; end process; end Behavioral;
仿真波形:

推荐的 VHDL项目 :
1. 什么是FPGA? VHDL如何在FPGA上使用
2. FIFO内存的VHDL代码
3. FIR筛选器的VHDL代码
4. 8位微控制器的VHDL代码
5. 矩阵乘法的VHDL代码
6. 用于开关尾圈计数器的VHDL代码
7. FPGA上数字闹钟的VHDL代码
8. 8位比较器的VHDL代码
9. 如何使用VHDL将文本文件加载到FPGA中
10。 D触发器的VHDL代码
11. 完整加法器的VHDL代码
12. VHDL中的PWM发生器,具有可变占空比
13。 ALU的VHDL代码
14。 VHDL代码用于测试台的计数器
15. 16位ALU的VHDL代码
16。 vhdl的变速器设计
17。 VHDL中的非线性查找表实现
18。 VHDL中的加密协处理器设计
19。 Verilog vs vhdl. :通过示例解释
20。 FPGA时钟分频器的VHDL代码
21。 如何生成时钟使能信号而不是创建另一个时钟域
22。 VHDL代码用于FPGA上的Debouncing按钮
23。 交通灯控制器的VHDL码
24。 VHDL代码为简单的2位比较器
25。 用于单端口RAM的VHDL代码
22。 VHDL代码用于FPGA上的Debouncing按钮
23。 交通灯控制器的VHDL码
24。 VHDL代码为简单的2位比较器
25。 用于单端口RAM的VHDL代码
26。 使用FSM的停车系统VHDL码
27。 VHDL编码VS软件编程
1. 什么是FPGA? VHDL如何在FPGA上使用
2. FIFO内存的VHDL代码
3. FIR筛选器的VHDL代码
4. 8位微控制器的VHDL代码
5. 矩阵乘法的VHDL代码
6. 用于开关尾圈计数器的VHDL代码
7. FPGA上数字闹钟的VHDL代码
8. 8位比较器的VHDL代码
9. 如何使用VHDL将文本文件加载到FPGA中
10。 D触发器的VHDL代码
11. 完整加法器的VHDL代码
12. VHDL中的PWM发生器,具有可变占空比
13。 ALU的VHDL代码
14。 VHDL代码用于测试台的计数器
15. 16位ALU的VHDL代码
16。 vhdl的变速器设计
17。 VHDL中的非线性查找表实现
18。 VHDL中的加密协处理器设计
19。 Verilog vs vhdl. :通过示例解释
20。 FPGA时钟分频器的VHDL代码
21。 如何生成时钟使能信号而不是创建另一个时钟域
22。 VHDL代码用于FPGA上的Debouncing按钮
23。 交通灯控制器的VHDL码
24。 VHDL代码为简单的2位比较器
25。 用于单端口RAM的VHDL代码
22。 VHDL代码用于FPGA上的Debouncing按钮
23。 交通灯控制器的VHDL码
24。 VHDL代码为简单的2位比较器
25。 用于单端口RAM的VHDL代码
26。 使用FSM的停车系统VHDL码
27。 VHDL编码VS软件编程
vhdl代码为2位计数器
回复 删除