Servus, muss man eigentlich in einem VHDL Design alle Ports einer Komponente verdrahten? Ich habe ein Top Level Design, in dem ich 3 Komponenten instanziieren möchte. Nun benötige ich nicht alle Ausgänge meiner Komponten. Wie teile ich das in der Portmap mit, dass dieser Eingang oder Ausgang keine Signale bekommt, bzw. an keinen Ausgang seine Signale weitergeben soll?
Jan, das einfachste ist, in der Component Beschreibung nur die Pins zu nennen, die Du haben willst. Eine eingebundene Entity darf nämlich mehr (aber nicht weniger) Ports haben als die Component Beschreibung über die es eingebunden wird. ABER: ===== Damit das alles synthetisierbar bleibt und die nicht angebundene Eingänge nicht einer 'X'/'U' verbreitung führen gibt es ein Paar andere Aspekte. 1) Ausgänge können mit port_name => open, beleg werden. Es sei dann, der Ausgang ist ein unconstrained Type (std_logic_vector ohne range Angaben). Hier musst Du wohl entweder ein Dummy Signal vorsehen (z.B. out_dummy_a(0 downto 0)) oder eben den Port in der Component Beschreibung weglassen 2) Eingänge können mit default Werte belegt werden. Diese kannst du dann in dem Port Map weglassen. z.B. Component Xyz Port (interessiert_mich_nicht : std_logic := '1'; bus_dont_care : std_logic_vector(7 downto 0) := (others => '0'); Das scheint auch inzwischen von den meisten Synthesetools richtig verstanden zu werden Viel Erfolg, Charles
Top, danke für die super Erklärung. Können eigentlich Komponenten selbst Komponenten beinhalten? Also ein Art Verschachtelung? Also eine Blackbox (Top Level Design), welche weitere Entity's beinhaltet, welche wiederum Komponenten instanziert? Versteht man, was ich damit sagen möchte?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.