Testbench/Simulation Sinus - fail

Gast #3210408
Lesenswert?

Ich versuche, die algorithmische Ebene eines DDS-Sinus zu simulieren, um 
meinen Entwurf zu überprüfen. Die Testbench dazu zeigt keine 
Signaländerungen, nicht einmal die Clock läuft.
Daher versuchte ich, eine einfachere Testbench für
http://www.lothar-miller.de/s9y/categories/31-DDFS
zu schreiben, aber diese ist auch fehlerhaft - viele "UUUUUUU" und 
maximal die Clock läuft.
1
LIBRARY ieee;
2
USE ieee.std_logic_1164.ALL;
3
USE ieee.numeric_std.ALL;
4

5
--------------------------------------------------
6
ENTITY tbnew IS
7
--------------------------------------------------
8

9
END tbnew;
10

11
--------------------------------------------------
12
ARCHITECTURE behavioral OF tbnew IS 
13
--------------------------------------------------
14

15
   SIGNAL clk       :   std_logic := '0';
16
   SIGNAL freq_data :   std_logic_vector (7 downto 0);  
17
   signal Dout      :   std_logic_vector (7 downto 0);        
18
   
19
   COMPONENT ddfs
20
   PORT( 
21
   
22
   CLK       : in  std_logic;          
23
   Freq_Data : in  std_logic_vector (7 downto 0);          
24
   Dout      : out std_logic_vector (7 downto 0));
25
   END COMPONENT;
26

27

28
BEGIN
29
   uut: ddfs PORT MAP(clk => clk, freq_data => freq_data, dout=> dout);
30
   clk <= not clk after 10 ns;
31
   freq_data <= b"01010101"; 
32
END behavioral;

Was muss ich anders machen? Ich könnte nicht einmal den Sinus 
überprüfen....
Moderator (Firma: Titel) Persönliche Seite #3210997
Lesenswert?

Zayna Maseem schrieb:
> Daher versuchte ich, eine einfachere Testbench für
> http://www.lothar-miller.de/s9y/categories/31-DDFS
> zu schreiben, aber diese ist auch fehlerhaft
Das Problem liegt nicht im geposteten Code. Diese Testbench läuft 
tadellos gegen das verlinkte Design. Zeig doch mal den Rest des Designs 
und evtl. noch einen Screenshot deiner Waveform...


>   freq_data <= b"01010101";
Du kannst das b vor dem binären String weglassen, weil b die 
Deafaulteinstellung für Stringvektoren ist und damit gilt:
b"01010101" = "01010101"

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren