
40 CHAPTER 1. INTRODUCTION TO THE ALLIANCE TOOLS
example used with the B2F tool.
% fmi -V rwgraph rwmin
@@@@@@@@@ @@@ @@@ @@@@@@
@@ @ @@ @@ @@
@@ @ @@@ @@@ @@
@@ @@@ @@@ @@
@@ @ @ @@ @ @@ @@
@@@@@@ @ @@ @ @@ @@
@@ @ @ @@@ @@ @@
@@ @ @@ @@ @@
@@ @ @ @@ @@
@@ @ @@ @@
@@@@@@ @@@ @@@@ @@@@@@
FSM Minimization
Alliance CAD System 5.0 20040928, fmi 5.0
Copyright (c) 2000-2005, ASIM/LIP6/UPMC
Author(s): Fr?d?ric P?trot, Ludovic Jacomme
Contributor(s): Jean-Marie Alexandre
--> Run FSM Compiler
--> Compile file rwgraph
--> Build Binay Decision Diagrams
--> Identify equivalent states
--> Initial number states : 4
--> Number of deleted states : 1
--> Save file rwmin
As could be noticed from the above output one state has b ee n deleted, now having the following FSM.
-- DATE : Thu Jan 27 23:56:30 2005
ENTITY rwmin IS
PORT
(vss : IN BIT;
vdd : IN BIT;
busy : OUT BIT;
ne : IN BIT;
rw : IN BIT;
start : IN BIT;
clk : IN BIT);
END rwmin;
ARCHITECTURE FSM OF rwmin IS
TYPE STATE_TYPE IS ( s0,s3,s2 );
SIGNAL CURRENT_STATE, NEXT_STATE: STATE_TYPE;
--PRAGMA FIRST_STATE s0
--PRAGMA CLOCK clk
BEGIN
PROCESS( CURRENT_STATE, vss, vdd, ne, rw, start)
BEGIN
CASE CURRENT_STATE IS
WHEN s3 =>
IF (( ’1’) = ’1’) THEN NEXT_STATE <= s0; END IF;
busy <= ’1’;
WHEN s2 =>
IF (( ne) = ’1’) THEN NEXT_STATE <= s3;
ELSE NEXT_STATE <= s2; END IF;
busy <= ’1’;
WHEN s0 =>
IF (( ((start AND NOT(rw)) OR (NOT(s tart AND NOT(rw)) AND (start AND rw)))) = ’1’)
THEN NEXT_STATE <= s2;
ELSE NEXT_STATE <= s0; END IF;
busy <= ’0’;
END CASE;
END PROCESS;
PROCESS( clk )
BEGIN
IF ( (NOT((clk’STABLE)) AND clk) )
THEN CURRENT_STATE <= NEXT_STATE;
END IF;
END PROCESS;
END;
Kommentare zu diesen Handbüchern