VHDL Datenbus Prozessor Beschreiben

Gast #3071076
Lesenswert?

Guten Tag,

Ich stehe im Moment vor folgendem Problem ich möchte eine Schnittstelle 
von einem Prozessor zur Peripherie schreiben.

Nun hab ich die Möglichkeit dies mittels einer Tristate Beschreibung 
machen.
und folgende Signale definieren

Beispiel vom Prozessor gesehen
1
Data : inout std_logic_vector(7 downto 0);
2
Addr : in std_logic_vector(7 downto 0);
3
RD   : in std_logic;
4
WR   : out std_logic;

Allerdings finde ich dies nicht besonders ideal, da die Beschreibung 
intern ja Logik draus macht, da es nur an die IOs Tristate zustände 
gibt.

Die andere Möglichkeit wäre, die Signale gleich aufzuteilen
1
Data_In  : in std_logic_vector(7 downto 0);
2
Data_Out : out std_logic_vector(7 downto 0);
3
Addr     : in std_logic_vector(7 downto 0);
4
RD       : in std_logic;
5
WR       : out std_logic;

Nun hab ich ja das Problem, das ich hier, wenn ich mehr Peripherie 
anschließe, welche alle auf das Data_in des Prozessors schreiben, noch 
einen zusätzlichen Logikblock zum multiplexen brauche, da ich sonst 
mehrfach treibende Signale hab.

Wie löst man ein solches Problem sauber ?

Gruß Tobias
Gast #3071101
Lesenswert?

TM schrieb:
> Nun hab ich ja das Problem, das ich hier, wenn ich mehr Peripherie
> anschließe, welche alle auf das Data_in des Prozessors schreiben, noch
> einen zusätzlichen Logikblock zum multiplexen brauche, da ich sonst
> mehrfach treibende Signale hab.

Und genau das macht im ersten Fall der Synthesizer für sich 
automatisch... ;-)
Gast #3071112
Lesenswert?

Franz schrieb:
> TM schrieb:
>> Nun hab ich ja das Problem, das ich hier, wenn ich mehr Peripherie
>> anschließe, welche alle auf das Data_in des Prozessors schreiben, noch
>> einen zusätzlichen Logikblock zum multiplexen brauche, da ich sonst
>> mehrfach treibende Signale hab.
>
> Und genau das macht im ersten Fall der Synthesizer für sich
> automatisch... ;-)

Ja schon klar und das wäre auf jeden Fall eine Lösung. Meiner Meinung 
nach aber nicht unbedingt eine saubere, da ich befürchte, dass dies 
nicht unbedingt vom jeden Synthesetool gleich interpretiert und 
eventuell auch nicht so effektiv implementiert wird.
Oder ist diese Sorge unbegründet ?

Gruß Tobias

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