Проектирование мультипроцессорного арбитра шины, страница 3

S01 =  /BG1

S2 =  /BG0*BG1

;описание переходов

S01    := UP2    ->S2

+ SS2 ->S01

S2    := SSS2   ->S2

+ DOWN2 ->S01

CONDITIONS

SSS2 = SACK

SS2=/SACK*/RA0*/RA1*/RA2*/RA3*/RA4*/RB0*/RA1*/RB2

UP2       = /RA0*RA1*SACK*/bg0*/bg2*/bg3*/bg4*/bg5*/bg6*/bg7

DOWN2     = /SACK*RESET

STATE

MOORE_MACHINE

;состояние по умолчанию

DEFAULT_BRANCH  S02

;описание состояний

S02 =  /BG2

S3 =  /BG0*/BG1*BG2

;описание переходов

S02    := UP3    ->S3

+ SS3 ->S02

S3    := SSS3   ->S3

+ DOWN3 ->S02

CONDITIONS

SSS3 = SACK

SS3=/SACK*/RA0*/RA1*/RA2*/RA3*/RA4*

/RB0*/RA1*/RB2

UP3       =   /RA0*/RA1*RA2*SACK*/bg0*/bg1*/bg3*/bg4*/bg5*/bg6*/bg7

DOWN3     = /SACK*RESET

STATE

MOORE_MACHINE

;состояние по умолчанию

DEFAULT_BRANCH  S03

;описание состояний

S03 =  /BG3

S4 =  /BG0*/BG1*/BG2*BG3

;описание переходов

S03    := UP4    ->S4

+ SS4 ->S03

S4    := SSS4   ->S4

+ DOWN4 ->S03

CONDITIONS

SSS4 = SACK

SS4=/SACK*/RA0*/RA1*/RA2*/RA3*/RA4*

/RB0*/RA1*/RB2

UP4=   /RA0*/RA1*/RA2*RA3*SACK*/bg0*/bg1*/bg2*/bg4*/bg5*/bg6*/bg7

DOWN4     = /SACK*RESET

STATE

MOORE_MACHINE

;состояние по умолчанию

DEFAULT_BRANCH  S04

;описание состояний

S04 =  /BG4

S5 = /BG0*/BG1*/BG2*/BG3*BG4

;описание переходов

S04    := UP5    ->S5

+ SS5 ->S04

S5    := SSS5   ->S5

+ DOWN5 ->S04

CONDITIONS

SSS5 = SACK

SS5=/SACK*/RA0*/RA1*/RA2*/RA3*/RA4*/RB0*/RA1*/RB2

UP5       =   /RA0*/RA1*/RA2*/RA3*RA4*SACK*/bg0*/bg1*/bg2*/bg3*/bg5*/bg6*/bg7

DOWN5     = /SACK*RESET

STATE

MOORE_MACHINE

;состояние по умолчанию

DEFAULT_BRANCH  S05

;описание состояний

S05 =  /BG5

S6 = /BG0*/BG1*/BG2*/BG3*/BG4*BG5

;описание переходов

S05    := UP6    ->S6

+ SS6 ->S05

S6    := SSS6   ->S6

+ DOWN6 ->S05

CONDITIONS

SS6=/SACK*/RA0*/RA1*/RA2*/RA3*/RA4*/RB0*/RA1*/RB2

SSS6 = SACK

UP6       =   /RA0*/RA1*/RA2*/RA3*/RA4*RB0*SACK*/bg0*/bg1*/bg2*/bg4*/bg3*/bg6*/bg7

DOWN6     = /SACK*RESET

STATE

MOORE_MACHINE

;состояние по умолчанию

DEFAULT_BRANCH  S06

;описание состояний

S06 =  /BG6

S7 = /BG0*/BG1*/BG2*/BG3*/BG4*/BG5*BG6

;описание переходов

S06    := UP7    ->S7

+ SS7 ->S06

S7    := SSS7   ->S7

+ DOWN7 ->S06

CONDITIONS

SSS7 = SACK

SS7=/SACK*/RA0*/RA1*/RA2*/RA3*/RA4*/RB0*/RA1*/RB2

UP7       =   /RA0*/RA1*/RA2*/RA3*/RA4*/RB0*RB1*SACK*/bg0*/bg1*/bg2*/bg4*/bg3*/bg5*/bg7

DOWN7     = /SACK*RESET

STATE

MOORE_MACHINE

;состояние по умолчанию

DEFAULT_BRANCH  S07

;описание состояний

S07 =  /BG7

S8 =  /BG0*/BG1*/BG2*/BG3*/BG4*/BG5*/BG6*BG7

;описание переходов

S07    := UP8    ->S8

+ SS8 ->S07

S8    := SSS8   ->S8

+ DOWN8 ->S07

CONDITIONS

SSS8 = SACK

SS8 =/SACK*/RA0*/RA1*/RA2*/RA3*/RA4*/RB0*

/RB1*/RB2

UP8       =   /RA0*/RA1*/RA2*/RA3*/RA4*/RB0*/RB1*RB2*SACK*/bg0*/bg1*/bg2*/bg4*/bg3*/bg5*

/bg6

DOWN8     = /SACK*RESET

EQUATIONS

BG0.CLKF  = CLK

BG1.CLKF  = CLK

BG2.CLKF  = CLK

BG3.CLKF  = CLK

BG4.CLKF  = CLK

BG5.CLKF  = CLK

BG6.CLKF  = CLK

BG7.CLKF  = CLK

BG[0:7].RSTF=RESET

SIMULATION

SETF  CLK /RA0 /RA1  /RA2  /RA3 /RA4 /RB0  /RB1  /RB2 /SACK /RESET

PRLDF /BG0 /BG1  /BG2  /BG3  /BG4  /BG5  /BG6  /BG7

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF RA2 SACK clk

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

setf ra0 sack

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF /RA1 /RA2 /RA3 /RA4 /RA0 /RB0 /RB1 /RB2 /sack clk

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF RA0 SACK clk

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF RA1 SACK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF RB0 SACK clk

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF RB2 SACK clk

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF /RA1 /RA2 /RA3 /RA4 /RA0 /RB0 /RB1 /RB2 /SACK clk

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF RB1 SACK clk

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF RB0 SACK clk

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF /RA1 /RA2 /RA3 /RA4 /RA0 /RB0 /RB1 /RB2 /SACK clk

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF RA0 RA1 RA2 RA3 RA4 RB1 SACK clk

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF RESET clk

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF RB0   clk

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF /RESET clk

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

CLOCKF CLK

SETF /RA1 /RA2 /RA3 /RA4 /RA0 /RB0 /RB1 /RB2 /SACK clk

CLOCKF CLK

SETF RA1 RESET SACK clk

CLOCKF CLK

SETF RA2 /RESET /SACK clk

CLOCKF CLK