Digitaltechnik11 Modulo 5 ZählerProf. Dr.Jörg Vollrath10 Zustandsmaschinen |
![]() |
![]() |
|
Modulo 5 Zähler: 0,1,2,3,4,0,1,2,3,4,0.. CLK Mit jeder steigenden Flanke wird Eins hochgezählt Taktteiler: Drei FF werden benötigt. |
![]() |
3 Speicherzellen 8 Zustände 5 Zustände werden benutzt. Kein Signal an den Pfeilen, da die Zustandsänderung auf jeden Fall durchgeführt wird. |
![]() |
|
![]() B0n+1=/B0n·/B2n ![]() B1n+1=(B0n·/B1n) + (/B0n·B1n) ![]() B2n+1= B0n·B1n |
Version 4 SHEET 1 1356 680 WIRE -208 -96 -256 -96 WIRE 352 -96 -208 -96 WIRE -112 -80 -160 -80 WIRE 336 -80 -112 -80 WIRE -16 -64 -64 -64 WIRE 320 -64 -16 -64 WIRE -256 -48 -256 -96 WIRE -160 -48 -160 -80 WIRE -64 -48 -64 -64 WIRE -64 48 -64 0 WIRE 0 48 -64 48 WIRE 80 48 64 48 WIRE 64 64 64 48 WIRE 192 64 144 64 WIRE 320 64 320 -64 WIRE 320 64 304 64 WIRE 368 64 320 64 WIRE -256 80 -256 0 WIRE 0 80 -256 80 WIRE 64 80 64 64 WIRE 80 80 64 80 WIRE 192 96 160 96 WIRE 192 128 176 128 WIRE -16 144 -16 -64 WIRE 0 144 -16 144 WIRE -160 176 -160 0 WIRE 0 176 -160 176 WIRE 64 192 64 160 WIRE 80 192 64 192 WIRE 192 208 144 208 WIRE 336 208 336 -80 WIRE 336 208 304 208 WIRE 368 208 336 208 WIRE 80 224 64 224 WIRE -64 240 -64 48 WIRE 0 240 -64 240 WIRE 160 240 160 96 WIRE 192 240 160 240 WIRE 64 256 64 224 WIRE -112 272 -112 -80 WIRE 0 272 -112 272 WIRE 176 272 176 128 WIRE 192 272 176 272 WIRE -16 336 -16 144 WIRE 0 336 -16 336 WIRE 80 336 64 336 WIRE 64 352 64 336 WIRE 192 352 144 352 WIRE 352 352 352 -96 WIRE 352 352 304 352 WIRE 368 352 352 352 WIRE -112 368 -112 272 WIRE 0 368 -112 368 WIRE 64 368 64 352 WIRE 80 368 64 368 WIRE 160 384 160 240 WIRE 192 384 160 384 WIRE -256 400 -256 80 WIRE -208 400 -208 -96 WIRE -160 400 -160 176 WIRE -112 400 -112 368 WIRE -64 400 -64 240 WIRE -16 400 -16 336 WIRE 176 416 176 272 WIRE 192 416 176 416 WIRE 160 448 160 384 WIRE 160 448 -192 448 WIRE 176 480 176 416 WIRE 176 480 -192 480 FLAG 368 64 B0 IOPIN 368 64 Out FLAG 368 208 B1 IOPIN 368 208 Out FLAG 368 352 B2 IOPIN 368 352 Out FLAG -192 448 CLK IOPIN -192 448 In FLAG -192 480 CLR IOPIN -192 480 In SYMBOL DFF 240 96 R0 SYMATTR InstName X14 SYMBOL DFF 240 240 R0 SYMATTR InstName X15 SYMBOL DFF 240 384 R0 SYMATTR InstName X16 SYMBOL NOT -64 -16 R90 SYMATTR InstName X17 SYMBOL NOT -160 -16 R90 SYMATTR InstName X18 SYMBOL NOT -256 -16 R90 SYMATTR InstName X19 SYMBOL NAND2 112 208 R0 SYMATTR InstName X13 SYMBOL NAND2 32 160 R0 SYMATTR InstName X20 SYMBOL NAND2 32 256 R0 SYMATTR InstName X21 SYMBOL NAND2 112 64 R0 SYMATTR InstName X1 SYMBOL NAND2 32 64 R0 SYMATTR InstName X2 SYMBOL NAND2 32 352 R0 SYMATTR InstName X3 SYMBOL NAND2 112 352 R0 SYMATTR InstName X4 TEXT 440 136 Left 2 !.PARAM CDL=1f TEXT 432 88 Left 2 !VDD VDD 0 DC 1 TEXT 440 40 Left 2 !.global VDD TEXT 440 176 Left 2 !.tran 1000n TEXT 440 216 Left 2 !.include cmosedu_Models.txt TEXT 440 248 Left 2 !V1 CLK 0 PULSE(0 1 0 1n 1n 49n 100n)\n\nV2 CLR 0 PULSE(0 1 10n 1n 1n 9n 800n)
- entity MODULO5 is
- port (
- RESET,CLK : in STD_LOGIC;
- B: out STD_LOGIC_VECTOR(2 downto 0));
- end MODULO5;
-
- architecture VERHALTEN of MODULO5 is
- signal BINT: STD_LOGIC_VECTOR(2 downto 0);
- begin
- SYN_COUNT:process (CLK, RESET)
- begin
- if RESET = '1' then
- BINT <= "000";
- elsif CLK='1' and CLK'event then
- case BINT is
- when "000" => BINT <= "001";
- when "001" => BINT <= "010";
- when "010" => BINT <= "011";
- when "011" => BINT <= "100";
- when "100" => BINT <= "000";
- when others => BINT <= "000";
- end case;
- end if;
- end process SYN_COUNT;
- B <= BINT;
- end VERHALTEN;
- entity Modulo5Test is
- -- Port ( );
- end Modulo5Test;
-
- architecture Behavioral of Modulo5Test is
- COMPONENT MODULO5
- port (
- RESET,CLK : in STD_LOGIC;
- B: out STD_LOGIC_VECTOR(2 downto 0)
- );
- end COMPONENT;
- -- Inputs
- signal RESET,CLK : STD_LOGIC;
- -- Ouputs
- signal B: STD_LOGIC_VECTOR(2 downto 0);
- begin
- uut: MODULO5 PORT MAP( RESET => RESET, CLK => CLK,
- B => B );
- clk_proc: process -- Clock process
- begin
- CLK <= '0'; wait for 5 ns;
- CLK <= '1'; wait for 5 ns;
- end process;
- stim_proc: process -- Stimulus process
- begin
- reset <= '1'; wait for 10 ns;
- reset <= '0'; wait for 10 ns;
- wait;
- end process;
- end Behavioral;
|
Begriff/Objekt | Kenn ich nicht | Kenne ich | Verstehe ich | Kann ich erklären | Kann ich anwenden einsetzen |
Zustandsdiagramm | |||||
Modulo 5 Zähler | |||||
Karnaugh Veitch | |||||
process | |||||
Version 4 SymbolType BLOCK LINE Normal -32 32 -32 -33 LINE Normal -32 -33 -16 -33 LINE Normal -32 32 -16 32 CIRCLE Normal 30 9 15 -8 ARC Normal 15 -33 -48 32 -16 32 -16 -33 WINDOW 0 5 -30 Bottom 0 PIN -32 -16 NONE 8 PINATTR PinName A PINATTR SpiceOrder 1 PIN -32 16 NONE 8 PINATTR PinName B PINATTR SpiceOrder 2 PIN 32 0 NONE 8 PINATTR PinName Y PINATTR SpiceOrder 3
Version 4 SymbolType BLOCK LINE Normal -32 24 -32 -23 LINE Normal 0 0 -32 24 LINE Normal -32 -23 0 0 CIRCLE Normal 17 11 0 -9 WINDOW 0 -12 -23 Bottom 2 PIN -32 0 NONE 8 PINATTR PinName A PINATTR SpiceOrder 1 PIN 16 0 NONE 8 PINATTR PinName Y PINATTR SpiceOrder 2
Version 4 SymbolType BLOCK LINE Normal -41 0 -48 -7 LINE Normal -48 7 -41 0 RECTANGLE Normal -48 -56 64 56 WINDOW 0 8 -56 Bottom 0 PIN -48 0 LEFT 8 PINATTR PinName CLK PINATTR SpiceOrder 1 PIN -48 32 LEFT 8 PINATTR PinName CLR PINATTR SpiceOrder 2 PIN -48 -32 LEFT 8 PINATTR PinName D PINATTR SpiceOrder 3 PIN 64 -32 RIGHT 8 PINATTR PinName Q PINATTR SpiceOrder 4 PIN 64 32 RIGHT 8 PINATTR PinName Qb PINATTR SpiceOrder 5