Hardware Reference
In-Depth Information
when "00" => acc <= x;
when "01" => acc<=acc+tmp;
when "10" => acc<=acc-tmp;
when others => null ;
end case ;
tmp <= x;
end if ;
end process ;
y <= acc;
signal x, tmp, acc, y: tUnsigned
( 3 downto 0 );
signal op:std_logic_vector
( 1 downto 0 );
signal T:std_logic;
...
process (T)
begin
if rising_edge(T) then
case op is
) WEB-Projekt:P2.1/AfgSynthALU2.vhdl
2.2 Schaltungsvereinfachung auf Basis der Schaltalgebra
Definition 2.1 (Logische Funktion) Eine n-stellige logische Funktion ist
eine Abbildung eines n-Bit-Vektors aus freien binären Variablen auf eine ab-
hängige binäre Variable:
y = f (x n1 ; x n2 ; :::; x 0 )
mit
y; x i 2f0; 1g
(
y
- abhängige Variable;
x i - freie Variablen).
Jede logische Funktion kann durch unbegrenzt viele unterschiedliche logi-
sche Ausdrücke und Schaltungen nachgebildet werden. Die von der Register-
Transfer-Synthese extrahierten logischen Ausdrücke werden anschließend un-
ter Beibehaltung der logischen Funktion umgeformt und vereinfacht. In Ab-
schnitt 1.2.3 wurden bereits zwei grundlegende Vereinfachungsverfahren vor-
gestellt:
• die Konstantenelimination und
• die Verschmelzung.
Die Konstantenelimination ersetzt alle Operationen mit konstanten Operan-
den durch die Operationsergebnisse. Das reduziert die Stelligkeit der Funktion
und die Anzahl der Operationen in den Ausdrücken. Die Verschmelzung fasst
gleiche Teilberechnungen, die mehrfach vorkommen, zusammen und reduziert
so gleichfalls die Anzahl der Operationen. Die Schaltalgebra hält zahlreiche
weitere Optimierungs- und Umformungsmöglichkeiten bereit.
2.2.1 Umformungs- und Vereinfachungsregeln
Die Vereinfachung logischer Ausdrücke erfolgt regelbasiert. Tabelle 2.1 zeigt
die wichtigsten Umformungsregeln. Zwei Negationen heben sich gegenseitig
auf. Die Eliminationsgesetze beschreiben Ausdrücke, die durch Konstanten
 
Search WWH ::




Custom Search