www.mikrocontroller.net

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


Autor: GAL (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;

entity Glixon2BCD is
    Port ( glixon : in  STD_LOGIC_VECTOR (3 downto 0);
           bcd : out  STD_LOGIC_VECTOR (3 downto 0));
end Glixon2BCD;

architecture Behavioral of Glixon2BCD is
begin
  process (glixon) begin
     case glixon is
     when "0000" => bcd <= "0000";
     when "0001" => bcd <= "0001";
     when "0011" => bcd <= "0010";
     when "0010" => bcd <= "0011";
     when "0110" => bcd <= "0100";
     when "0111" => bcd <= "0101";
     when "0101" => bcd <= "0110";
     when "0100" => bcd <= "0111";
     when "1100" => bcd <= "1000";
     when "1000" => bcd <= "1001";
     when others => bcd <= "0000";
     end case;
  end process;
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  ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.