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....