How to Design a T Flip-Flop Counter in VHDL?

  • Thread starter Thread starter michael_mke
  • Start date Start date
  • Tags Tags
    Counter
Click For Summary
SUMMARY

The discussion focuses on designing a T flip-flop counter in VHDL to count in the sequence 000, 100, 111, 010, 011, and back to 000. The provided VHDL code for the T flip-flop lacks a proper toggle input, which is essential for the T flip-flop's functionality. The implementation requires three T flip-flops, with their clocks tied together for synchronous operation. Additionally, a state-transition table and Karnaugh map (K-map) should be utilized to derive the combinational logic for the T flip-flops' inputs.

PREREQUISITES
  • Understanding of VHDL syntax and structure
  • Knowledge of T flip-flop functionality and operation
  • Familiarity with synchronous counters and state-transition tables
  • Experience with Karnaugh maps for logic simplification
NEXT STEPS
  • Review VHDL documentation for synchronous design patterns
  • Learn about T flip-flop toggle inputs and their implementation
  • Study state-transition table creation for digital circuits
  • Explore Karnaugh map techniques for combinational logic design
USEFUL FOR

Digital circuit designers, VHDL programmers, and students learning about synchronous counters and flip-flop implementations.

michael_mke
Messages
4
Reaction score
0
I have to design a counter using T flip-flops to count in the sequence 000, 100, 111, 010, 011, 000,...(repeat).

I think I got the code for the T flip-flop but not really sure and need some help implementing the counter with this.
Any help would be great. Thanks

//T flip-flop
Code:
library ieee;
    use ieee.std_logic_1164.all;

entity tff_sync_reset is
    port (
        data  :in  std_logic; -- Data input
        clk   :in  std_logic; -- Clock input
        reset :in  std_logic; -- Reset input
        q     :out std_logic  -- Q output

    );
end entity;

architecture rtl of tff_sync_reset is
    signal t :std_logic;
begin
    process (clk) begin
        if (rising_edge(clk)) then
            if (reset = '0') then
                t <= '0';
            else
                t <= not t;
            end if;
        end if;
    end process;
    q <= t;
end architecture;
 
Engineering news on Phys.org
I think each TFF is used to hold a bit, so you will be using 3 TFFs. If the question was asking for synchronous counter, then the clocks of the TFFs are tied together. You will then draw a state-transistion table, then use k-map to implement the combination logic to set the input to the TFFs at each state.

The input bit that goes into a TFF is usually not called 'data' but 'toggle'. When the 'toggle' bit is 1, the TFF toggles its bit.

Your code for the TFF doesn't have this toggle bit. (It would be what you call 'data', but you didn't use it.)
 
Most likely this can only be answered by an "old timer". I am making measurements on an uA709 op amp (metal can). I would like to calculate the frequency rolloff curves (I can measure them). I assume the compensation is via the miller effect. To do the calculations I would need to know the gain of the transistors and the effective resistance seen at the compensation terminals, not including the values I put there. Anyone know those values?

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
15K
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 5 ·
Replies
5
Views
5K
  • · Replies 1 ·
Replies
1
Views
11K
Replies
1
Views
9K
  • · Replies 3 ·
Replies
3
Views
4K
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
8K