13. СЧЕТЧИКИ




Счетчики строятся на T-триггерах

Двоичный Счетчик N..0

Простой счетчик (3 бит) считающий в обратную сторону



Двоичный Счетчик 0..N






Паралельные счетчики

Последовательный счетчик: (сигналы разрешения двигаются как carry)

Параллельный счетчик: (разрешаются локальные сигналы, работает быстрее)


VHDL програма для двоичного счетчика 0..f library ieee; use ieee.std_logic_1164.all; use ieee.STD_LOGIC_UNSIGNED.all; use ieee.std_logic_arith.all; entity count4 is port ( clk,reset : in std_logic; count: out std_logic_vector(3 downto 0)); end count4; architecture Example of count4 is signal count_i: std_logic_vector(3 downto 0); begin process(clk,reset) begin if (reset = '1') then count_i <= "0000"; elsif rising_edge(clk) then count_i <= count_i + '1'; end if; end process; count <= count_i; end Example;



Программа на Verilog для счетчика 8-бит: module COUNTER(EN,CLK,RESET,OUT); parameter width = 8; input CLK,RESET,EN; output [width-1:0] OUT; reg [width-1:0] OUT; always @(posedge CLK or negedge RESET) if (!reset) OUT = 8'b0; else if (EN) OUT = OUT + 1; endmodule;


Счетчик считающий в обе стороны:




Index Prev Next