BCD zu 7-segment Decoder

Ich habe gerade angefangen, VHDL-coding, und jetzt haben, um einen BCD-code zu 7-segment decoder. Ich mache eine Verhaltens-design(es ist erforderlich), aber richtig, jetzt bin ich mit Mühe auf, wie man code im display.

Weiß ich, wie man code dieser decoder mit nur einem Eingang und einem Ausgang, jedoch haben wir einen zweiten Ausgang genannt DIGEN_L die als unsere Darstellung. Es ist ein active-low-bus-Ausgang ermöglicht es, dass jede Ziffer der 7-segment-Anzeige auf unserem board.

Sagte er uns nur das Programm zum '01110 also die vierte Ziffer ist immer auf und die anderen drei sind aus.

Ich nicht wissen, wie man code DIGEN_L in meinem code, und weiß nicht, was die Aussage eigentlich bedeutet (code-Weise). Kann jemand helfen?
Wenn keine Klärung in dieser Frage, einen Kommentar, und ich werde Sie auf Bearbeiten.

Hier ist mein code:

library IEEE;
ise IEEE.std_logic_1164.all;
library unisim;
use unisim.vcomponents.all;

entity decoder is
    port( BCD: in STD_LOGIC_VECTOR (3 downto 0);
        ( SEGS_L: out STD_LOGIC_VECTOR(5 downto 0);
        ( DIGEN_L: out STD_LOGIC_VECTOR(3 downto 0));
end decoder;

architecture decoder_arc of decoder is
    begin
       process(BCD)
          begin
         DIGEN_L <= "0111";
         case BCD is
            when "0000"=> SEGS_L <="1111110";  -- '0'
            when "0001"=> SEGS_L <="0110000";  -- '1'
            when "0010"=> SEGS_L <="1101101";  -- '2'
                when "0011"=> SEGS_L <="1111001";  -- '3'
                when "0100"=> SEGS_L <="0110011";  -- '4' 
            when "0101"=> SEGS_L <="1011011";  -- '5'
            when "0110"=> SEGS_L <="1011111";  -- '6'
            when "0111"=> SEGS_L <="1110000";  -- '7'
            when "1000"=> SEGS_L <="1111111";  -- '8'
            when "1001"=> SEGS_L <="1111011";  -- '9'
            when others=> SEGS_L <="-";
             end case;
       end process;
end decoder_arc;
  • Bitte beachten Sie, dass, wenn andere=> SEGS_L <="-"; ist nicht synthetisierbare. Entweder ein richtiger Zuordnung (z.B. alle Lampen an, alle Lampen aus) innerhalb der case-Anweisung oder eine default-Zuweisung an die Spitze des Prozesses: decode_bcd_proc: Prozess (BCD) beginnen SEGS_L <= (others => '0'); case BCD ist ... Ende Prozess decode_bcd_proc;
InformationsquelleAutor AOE | 2014-02-02
Schreibe einen Kommentar