Forum: FPGA, VHDL & Co. Glixon to Bcd wandler


von GAL (Gast)


Lesenswert?

Hallo Leute ,
ich muss einen Glixon zu BCD Wandler bauen.

Mein Konzept sieht so aus
           _________
          |          |
Zehner--->|Glixon/BCD|================================>Zehner (BCD)
          |__________|   |
                         \/
           _________   |
          |          |   |
Zehner--->|Glixon/BCD| ---> 9er Komplimet Logik ======> Einer (BCD)
          |__________|


Ich muss das ganze mit Gatter Lösen.
Jz bräuchte ich einen kleinen Denkanstoss (ich will nicht das mir hier 
jemand die Hausübung macht, nur wenn ich einen kleiner Schubser bekomme 
tu ich mir gleich wesentlich leichter).
Beim Glixon ist es so ,dass dieser Code immer Einschrittig ist, dh beim 
normalen 8421 Code ändert sich beim Übergang von 9 auf 0 3 Bit's beim 
Glixon jedoch nur eines , weil man statt des 9ers z.B den 15er nimmt.

Ich möchte jz nur mal den Logikentwurf machen, wie gehe ich da am Besten 
vor, wahrscheinlich mit einer Wahrheitstabelle oder?
Nur da fehlt mir irgendwie der Input wie ich das starten soll.



mfg Domi

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

>  wahrscheinlich mit einer Wahrheitstabelle oder?
Das wird der 1. Schritt sein, danach kommt ein Arbeitsschritt zur 
Reduzierung eines jeden der 4 Produktterme (z.B. KV-Diagramm), und 
daraus die Umsetzung in Gattern realisiert.

Ich habe mal zur Reduzierung die Xilinx-Toolchain genommen und das 
eingespeist:
1
library IEEE;
2
use IEEE.std_logic_1164.all;
3
use IEEE.numeric_std.all;
4
5
entity Glixon2BCD is
6
    Port ( glixon : in  STD_LOGIC_VECTOR (3 downto 0);
7
           bcd : out  STD_LOGIC_VECTOR (3 downto 0));
8
end Glixon2BCD;
9
10
architecture Behavioral of Glixon2BCD is
11
begin
12
  process (glixon) begin
13
     case glixon is
14
     when "0000" => bcd <= "0000";
15
     when "0001" => bcd <= "0001";
16
     when "0011" => bcd <= "0010";
17
     when "0010" => bcd <= "0011";
18
     when "0110" => bcd <= "0100";
19
     when "0111" => bcd <= "0101";
20
     when "0101" => bcd <= "0110";
21
     when "0100" => bcd <= "0111";
22
     when "1100" => bcd <= "1000";
23
     when "1000" => bcd <= "1001";
24
     when others => bcd <= "0000";
25
     end case;
26
  end process;
27
end Behavioral;
Herausgekommen ist ein ROM (war ja klar...)

> ich muss einen Glixon zu BCD Wandler bauen.
Fazit: nimm ein EPROM und programmier das passend  ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.