Forum: FPGA, VHDL & Co. CPLD Signale besser 1 oder 0 erzeugen ?


von Ralph H. (guru)


Lesenswert?

Ich möchte gern den VHDL Code optimieren und dabei ist mir aufgefallen, 
dass ich bei der Erzeugung von Signalen mal eine '1' und mal ne '0' 
erzeuge.
Bestimmt kann ich Ressorcen im CPLD sparen, wenn ich versuche die 
auszuwertenden Zustände gleich zu machen, also möglichst immer '1' oder 
'0' zu verknüpfen und nicht zu sehr zu mischen.
Sehe ich das Richtig, oder ist das dem CPLD wurscht.

1
   
2
Write_BWS <= '0' when ADRintern(15 downto 12) =x"1" 
3
                and ADRintern(11)='0'
4
                and MREQ='0'             
5
                and BWS_RW = '0'             
6
                else '1' ;

oder ist es besser das so zu schreiben ?
1
   
2
Write_BWS <= '1' when ADRintern(15 downto 12) =x"1" 
3
                and ADRintern(11)='1'
4
                and MREQ='1'             
5
                and BWS_RW = '1'             
6
                else '0' ;

von Georg A. (Gast)


Lesenswert?

Wurscht. Schau dir mal die typischen PAL/GAL-Matrizen an, die bei CPLDs 
auch heute immer noch verwendet werden. Das sind Umsetzungen der 
disjunktiven Normalform (Eingänge normal/invertiert, AND-Terme, 
abschliessendes OR). D.h. die Eingänge in die Matrix gibts eh immer 
zweimal (normal/invertiert). Ob du da jetzt auf 0 oder 1 vergleichst, 
ist daher egal. Ebenso ob der Ausgangswert 0 oder 1 sein soll, das ist 
ein schaltbarer Inverter (aka XOR).

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.