Disegnare un circuito sequenziale sincrono che implementa lalgoritmo espresso dal seguente pseudo linguaggio: 1.If (start = 0) then wait; elseif(start=1) then AR(3) 1; endif 2. do if(Y=1) then If(X=0) then ror(AR); else rol(AR); endif while((Y*[X*AR(3)+X*AR(0)] + Y)=1) 3. Go to 1. start Y X CK AR[4]
start Y X AR(0) AR(3) IN OP A0A0 A1A1 F T T F F T F T F T AR(3) 1 ror(AR) rol(AR)
P.S. A N.S. A CONDITIONS IN 0 IN 0 start OP 1 start OP 1 OP 1 Y + Y*X*AR(3)+Y*X*AR(0) = Y + X*AR(3) + X*AR(0) IN 0 Y*X*AR(0)+Y*X*AR(3) MUX_A(0)=start MUX_A(1)=Y + X*AR(3) + X*AR(0) LOAD = IN*start ror(AR) = OP*X*Y rol(AR) = OP*X*Y S1 S0 Functions Conditions 0 0 HOLD tutte le altre codizioni 0 1 ROR ror(AR) = OP*X*Y 1 0 ROL rol(AR) = OP*X*Y 1 1 LOAD LOAD = IN*start S0 = ROR + LOAD = OP*X*Y + IN*start S1 = ROL + LOAD = OP*X*Y + IN*start
0 1 D PR CLR Q Q CK start X Y H H S1 S0 CK A IN.L OP.H IN.H OP.L AR3 AR2 AR1AR0 Q D
GARBOLINOSARA29 BRUNAMATTEO28 PEDRAZZOFRANCESCO26 BALMADAVIDE25 FREAMATTEO24 TOSELLI ALBERTO23 GIARAMITAALESSANDRO20 FERRARESEFEDERICO19 RAGONARICCARDO18