Hallo, ich bin mir zwar 99% sicher, dass man keinen std_logic_vector mit "Unterbrechungen" dazwischen deklarieren kann (insbesondere in einer port Liste), aber es würde mir derart viel Troubles ersparen, dass ich dennoch frage. Also ich habe einen Vektor in der Port Liste: ddr0_mem_dq : inout std_logic_vector(71 downto 0); Da wir hier das Design als Zwischenlösung auf einem anderen Board laufen lassen, wo dann manche der Ausgänge von anderen Signalen belegt werden, gibt es nicht mehr für alle Bits des Vektors eine Pin Location. Den Vektor irgendwie in der Art ddr0_mem_dq : inout std_logic_vector(71 downto 70, 34 downto 31, ...usw); deklarieren zu können wäre toll, aber das geht wohl nicht, oder? Danke und lg Matthias
nein das geht nicht, aber es spricht nix dagegen die pins einfach nicht zu belegen, die werden dann einfach rausoptimiert
Dass es nicht geht, habe ich befürchtet. Wenigstens teilweise möchte ich die Pins belegen, da wieder andere Bauteile dran hängen und ich fürchte, dass mir sonst deren Eingänge floaten. Naja, wirds halt doch leider Arbeit :( . Danke jedenfalls und lg.
Du deklarierst einfach einen Vector als CONCAT zweier Zwischenvektoren oder ein vector-array mit mehreren Bereichen. Im Grunde macht das eigentlich selten richtig Sinn, weil diese Vektorteile keinen mathematischen Zusammenhang haben - wenigstens aus "Integer-Sicht" nicht. Ich benutze das auch nur, um komplette Busse mit ADR+DAT+CTRLs+CLK in EINEM Signal zu führen, was in vielen Schaltungstools einfacher und übersichtlicher wird, weil es nur ein Strich ist :-)
J. S. schrieb: > Ich benutze das auch nur, um komplette Busse mit ADR+DAT+CTRLs+CLK in > EINEM Signal zu führen, was in vielen Schaltungstools einfacher und > übersichtlicher wird, weil es nur ein Strich ist :-) Hmm. Klingt als wenn hier (nicht für das Problem von Matthias) records helfen könnten. Duke
Records kann ich sehr empfehlen, ich habe einige gleichartige Speicherinterfaces im Design und diese mit einem record-Typen zu erschlagen hat für viel Übersicht gesorgt. Auch die Entity Interfaces sind mit records gemacht, dazu noch ein einheitliches Namenformat wo jeder derartige record einen Typ t_c1_2_c2_if bekommt, wobei c1 und c2 sinnvolle Kürzel für andere Entities sind. Im Code heißt das Signal dann s_c1_2_c2_if und steht für die Signale von c1 zu c2. Taugt mir total, kann ich nur empfehlen, ich muss beim Codieren kaum jemals den Signalnamen nachschauen, weil er sich automatisch ergibt. lg Matthias
Dann braucht man aber eine Designsoftware, die records handlen kann und zwei ganz bestimmte VHDL-Mal-Softwarepakete, deren Namen ich hier nicht nennen kann, können das nicht. Die können nur Busse verwalten.
Los raus mit der Sprache, wer sind die zwei? ;-) Eins weiß ich: Xilinx ISE kanns...
@Lothar:
Ich glaube er sprach von Malprogrammen:
> VHDL-Mal-Softwarepakete
Und der Schematic-Editor von ISE kann doch nicht mal vernünftig mit
Bussen umgehen. (Hab ich aber auch schon lange nicht mehr probiert.)
Aber eine Designsoftware, die nicht mit records kann, möchte ich nicht
verwenden wollen müssen.
Duke
Ach die Mal-Programme... ;-) Hab ich nie ausprobiert. Waren mir schon immer zu tuitiv. Aber wie sollte man einen Record malen können?
Mit einem virtuellen zusammengefügtem Bus, so wie ein Bus selber. Er hat nur keine Signale, sondern weitere Variblen, Signale, Busse. Müsste doch gehen(?)
Segor schrieb: > Mit einem virtuellen zusammengefügtem Bus Du meinst wohl die bereits angesprochenen Records?
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.