Treiber zentral inferieren?

Gast #2362277
Lesenswert?

Hallo,

in Anlehnung an den Thread 
Beitrag "Tristate nur in Top-Ebene?" wüsste ich gerne, wer in 
dieser Art seine Designs aufsetzt und das eine oder andere Feedback dazu 
abgeben kann?
Es geht darum, sämtliche Treiber im top level zu beschreiben, um 
IO-Zellen von der Logik zu separieren. So hab ich das zumindest 
verstanden.

Wie sieht das in der Praxis aus? Werden dann sämtliche Treiber manuell 
im Top Level instanziiert und das wars? Oder gibts noch andere Dinge auf 
die man achten muss?
Moderator (Firma: Titel) Persönliche Seite #2362306
Lesenswert?

guest schrieb:
> wer in dieser Art seine Designs aufsetzt
Ich.
> und das eine oder andere Feedback dazu abgeben kann?
Funktioniert gut.

Oder wie wolltest du das Feedback?

Wenn du inout quer über alle Module verwendest kannst du schnell mal 
eine "Buskollision" bekommen (es darf ja jedes Modul auf so einen Port 
schreiben), die der Synthesizer nicht auflösen kann. D.h. deine 
Treiberquellen können weit verstreut sein, das macht die Fehlersuche 
nicht einfach...
Wenn du nur out und in Ports verwendest, dann muß dein Adressdecoder in 
1 Modul zusammengefasst sein (das ist dann idR. das Top Modul oder 
irgendwas geradlinig darunter). Du siehst Überlappungen also sofort.
Moderator (Firma: Titel) Persönliche Seite #2362340
Lesenswert?

guest schrieb:
> Oder reicht es wenn vom top level aus nur noch Signale vom Typ in und
> out in darunter liegende Hierachien geleitet werden?
Ja.
> Muss ich da etwas manuell instanziieren?
Ja: den bidirektionalen Treiber eben...
1
  datain  <= databus;
2
  databus <= dataout when enableout='1' else (others=>'Z');
Und diese datain und dataout gibst du nach unten weiter.

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