frage : testbench

Gast #2013417
Lesenswert?
• ▲
▼
Guten Tag,

ich möchte gerne mein Testbench optimieren bzw. verständlicher machen. 
Und daher möchte ich meine eingegebene Daten(data) nicht direkt mit Hand 
eingeben (so wie ich es tue). Wie kann ich so was realisieren?

process
begin
   data <= (others => '0');
   wait for 500 ns;
   data <= (others => '1');
   wait for 20 ns;
   data <= "10101000";
   wait for 20 ns;
   data <= "01010110";
     .
     .
     .
     .
    usw
end process;

Schönen Dank im Voraus.

Viele Grüße,
cony
Moderator (Firma: Titel) Persönliche Seite #2015326
Lesenswert?
• ▲
▼
cony schrieb:
> ich wollte ganz einfach paar verschieden 8 bit daten eingeben. einfacher
> sollte es doch gehen???
Dann lass von meinem Beispiel alles weg, was du nicht brauchst.

> ich bin neue in VHDL, daher weisse ich nicht
> alles was man bei vhdl machen kann...
Dann probiers aus, was du davonbrauchst. Ein wenig darfst du schon auch 
selber denken...

> ich habe eigntlich in Richtung for-loop und eine Variable oder so was
> gedacht..
Aber bitte nur zur Simulation.
Gast #2015458
Lesenswert?
• ▲
▼
Wenn du es so einfach haben willst:

Einfach ein array mit 8-bit Werten (constant) definieren und die dann in 
einer loop auf deinen Design loslassen.

Beispiel:
1
  constant size_test_type : integer := 19;
2
  type test_type is array(0 to size_test_type-1) of std_logic_vector(31 downto 0);
3
  signal test_data: test_type := (
4
      x"F_EFF_FFE_F",
5
      x"F_FFE_FFF_E",
6
.....
7
      x"0_78F_78F_5",
8
      x"0_91D_91D_6",
9
      x"C_FFF_EFF_D"
10
  );
Jetzt kannst du mit test_data(i) in einer loop einfach drauf 
zugreifen...
Gast #2015532
Lesenswert?
• ▲
▼
cony schrieb:
> data <= "10101000";
>    wait for 20 ns;
>    data <= "01010110";
>      .

PPS: Du kannst uebrigens auch anstatt "10101000" sowas schreiben:
* b"1010_1000"
* x"A8"   -- allerdings nur bei vielfachen von 4-bit
Macht die Sache deutlich uebersichtlicher und leichter verstaendlich 
finde ich...

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.