Forum: FPGA, VHDL & Co. Testbench - Singale bleiben undefiniert


von Paolo (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

vielleicht kann mir hier jemand weiter helfen. Ich versuche meine 
Synthese zu simulieren. Allerdings zeigt mir der Simulator keine 
Änderungen an meinem Ausgangs tq1. Ich sehe immer nur "UU",obwohl ich in 
der Testbench das Signal vorbelegt habe. Was mache ich falsch?

Für konstruktive Hinweise Danke im voraus

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Vorneweg:
1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
use ieee.std_logic_unsigned.all;
4
USE ieee.numeric_std.ALL;
Entweder, oder, aber nicht zusammen!
Beitrag "IEEE.STD_LOGIC_ARITH.ALL obsolete"

> obwohl ich in der Testbench das Signal vorbelegt habe.
In der Testbench hat die Vorbelegung eines Ausgangs bestenfalls einen 
virtuellen Kurzschluss zur Folge! Setz mal zu Anfang kurz deinen Reset 
aktiv, oder schreib bei der Signaldeklaration:
    signal Pre_Q: std_logic_vector(n-1 downto 0) =: (others=>'0');

von Paolo (Gast)


Lesenswert?

Lothar Miller schrieb:
> signal Pre_Q: std_logic_vector(n-1 downto 0) =: (others=>'0');

Danke. Du hast mir sehr geholfen. Für die Synthese hat diese Zuweisung 
aber keinen Einfluss, oder nicht?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Paolo schrieb:
> Für die Synthese hat diese Zuweisung aber keinen Einfluss, oder nicht?
Doch, zum Glück. Du kannst sogar jeden beliebigen Wert laden und dadurch 
oft einen Power-On Reset sparen.
Es ist sogar so, dass alle nicht explizit zugewiesenen Signalen und 
Variablen den Wert '0' bekommen. Weil es ja in der richtigen Hardware 
kein 'U' gibt.

> Danke.
Keine Ursache...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.