www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Beschreibung für eine Program


Autor: Didi Lo (kiji80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo leute
ich bin ganz neue hier und ich finde diese Foren sehr interessant
ich arbeite mit quartus 2 und ich habe schon die 7 segment programmiert.
aber ich muss ein Bericht schreiben leider das ist mein erste programm 
und ich weiss nicht wie und was soll ich schreiben
ich bitte um eure Hilfe
hier ist den Programm mit case und ander genauso mit With select

 entity segment7 is
port (
reset : in std_logic;
switch : in std_logic;
seg7_k : out std_logic_vector(6 downto 0)
);
end segment7;

architecture behavioral of segment7 is
signal counter4 : std_logic_vector(3 downto 0);
signal reg_seg7 : std_logic_vector(6 downto 0);
begin

process (reset, switch) begin
if (reset = '1') then
counter4 <= "0000";
elsif (switch'event and switch = '1') then
counter4 <= counter4 + 1;
end if;
end process;

process (counter4) begin
case counter4 is
when "0000" => reg_seg7 <= "0111111";
when "0001" => reg_seg7 <= "0000110";
when "0010" => reg_seg7 <= "1011011";
when "0011" => reg_seg7 <= "1001111";
when "0100" => reg_seg7 <= "1100110";
when "0101" => reg_seg7 <= "1101101";
when "0110" => reg_seg7 <= "1111101";
when "0111" => reg_seg7 <= "0000111";
when "1000" => reg_seg7 <= "1111111";
when "1001" => reg_seg7 <= "1101111";
when "1010" => reg_seg7 <= "1110111";
when "1011" => reg_seg7 <= "1111100";
when "1100" => reg_seg7 <= "0111001";
when "1101" => reg_seg7 <= "1011110";
when "1110" => reg_seg7 <= "1111001";
when "1111" => reg_seg7 <= "1110001";
when others => reg_seg7 <= "XXXXXXX";
end case;
end process;

seg7_k <= not reg_seg7;


end behavioral;

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

gibt es andere ähnliche Berichte?

Was ist Ziel dieses Berichtes?

Was soll inhaltlich vorkommen?

Gruß

Peter

Autor: Didi Lo (kiji80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo
ich arbeit auf Alteraboard cyclone II und ich muss alle peripherique des 
Boards verstehen und beschreiben und ich habe mit 7 segment angefangen.
danke

Autor: Thomas Hertwig (mac4ever)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich würde
when others => reg_seg7 <= "XXXXXXX";
erstmal durch
when others => reg_seg7 <= "0000000";
ersetzen. Denn einen undefinierten Zustand auf die Anzeige zu legen ist 
sicher nicht im Sinne der Erfinders :)

Zum Bericht:
Wenn Du das Board und dessen Peripherie beschrieben sollst, dann versuch 
doch einfach Deine Programmierbeispiele in Worte zu fassen.
Z.B.: Ich lasse eine Variable von 0 bis 15 hochlaufen und gebe den 
Hex-Wert auf der 7-Seg Anzeige aus ...

Vielleicht ein wenig wissenschaftlicher, aber prinzipiell würde ich es 
wohl so machen ;)

Autor: Matthias F. (flint)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Begabte Menschen können über Zeilen wie diese
seg7_k <= not reg_seg7;

ganze Seminararbeiten schreiben ;) . Ist ja nicht offensichtlich, warum 
diese Bits da invertiert werden (zumindest für die meisten nicht).

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.