Unformatted text preview:

Controller DesignController Design: Laser Timer ExampleController Design: Laser Timer Example (cont)Slide 4Slide 5Understanding the Controller’s BehaviorController Example: Button Press SynchronizerController Example: Button Press Synchronizer (cont)Controller Example: Sequence GeneratorController Example: Secure Car KeyExample: Seq. Circuit to FSM (Reverse Engineering)1Controller Design•Five step controller design process2Controller Design: Laser Timer Example•Step 1: Capture the FSM–Already done•Step 2: Create architecture–2-bit state register (for 4 states)–Input b, output x–Next state signals n1, n0•Step 3: Encode the states–Any encoding with each state unique will workx=1x=1 x=1x=0bb’010010 11On2On1OfOn3Inputs: b; Outputs: xCombinationallogicState registers1 s0n1n0xbclkFSMinputsFSMoutputs3Controller Design: Laser Timer Example (cont)•Step 4: Create state tablex=1x=1 x=1x=0bb’010010 11On2On1OfOn3Inputs: b; Outputs: xCombinationallogicStateregisters1 s0n1n0xbclkFSMinputsFSMoutputs4Controller Design: Laser Timer Example (cont)•Step 5: Implement combinational logicCombinationallogicStateregisters1 s0n1n0xbclkFSMinputsFSMoutputsx = s1 + s0 (note from the table that x=1 if s1 = 1 or s0 = 1)n1 = s1’s0b’ + s1’s0b + s1s0’b’ + s1s0’bn1 = s1’s0 + s1s0’n0 = s1’s0’b + s1s0’b’ + s1s0’bn0 = s1’s0’b + s1s0’5Controller Design: Laser Timer Example (cont)•Step 5: Implement combinational logic (cont)x = s1 + s0n1 = s1’s0 + s1s0’n0 = s1’s0’b + s1s0’CombinationallogicStateregisters1 s0n1n0xbclkFSMinputsFSMoutputsn1n0s0s1clkCombinational LogicState registerbx6Understanding the Controller’s Behaviors0s1bxn1n0x=1x=1 x=1b011011On2On1OfOn3000 00000b’00000x=0000clkclkInputs:Outputs:1010b10100s0s1bxn1n0x=1x=1 x=1b’0110 11On2On1OfOn3clkbx000 0x=0000state=00 state=00s0s1bxn1n0x=1x=1 x=1x=0bb’01001011On2On1OfOn31011000110clk0 101state=017Controller Example: Button Press Synchronizer•Want simple sequential circuit that converts button press to single cycle duration, regardless of length of time that button actually pressed–We assumed such an ideal button press signal in earlier example, like the button in the laser timer controllercycle1 cycle2 cycle3 cycle4clkInputs:Outputs:biboButton press synchronizercontrollerbi bo8Controller Example: Button Press Synchronizer (cont)ABCs100001111s000110011bi01010101Inputsn100010100n001000000bo00110000OutputsCombinational logicunusedStep 4: State tableStep 1: FSMA BCbo=1bo=0 bo=0bibibi’bi’bi’biFSM inputs: bi; FSM outputs: boStep 3: Encode states00 0110bo=1bo=0 bo=0bibibi’bi’bi’biFSM inputs: bi; FSM outputs: boStep 5: Create combinational circuitStep 5: Create combinational circuitclkState registerbobis1 s0n1n0Combinational logicn1 = s1’s0bi + s1s0bin0 = s1’s0’bibo = s1’s0bi’ + s1’s0bi = s1s0Step 2: Create architectureCombinationallogicn0s1 s0n1bobiclkState registerFSMinputsFSMoutputs9Controller Example: Sequence Generator•Want generate sequence 0001, 0011, 1100, 1000, (repeat)–Each value for one clock cycle–Common, e.g., to create pattern in 4 lights, or control magnets of a “stepper motor”0001 1011ABDwxyz=0001 wxyz=1000wxyz=0011 wxyz=1100CInputs: none; Outputs: w,x,y,zStep 3: Encode statesStep 4: Create state tableclkState registerwxyzn0s0s1n1Step 5: Create combinational circuitw = s1x = s1s0’y = s1’s0z = s1’n1 = s1 xor s0n0 = s0’Step 1: Create FSMABDwxyz=0001 wxyz=1000wxyz=0011 wxyz=1100CInputs: none; Outputs: w,x,y,zStep 2: Create architectureCombinationallogicn0s1 s0n1clkState registerwxyz10Controller Example: Secure Car Key•(from earlier example)K1 K2 K3 K4r=1 r=1 r=0 r=1Waitr=0Inputs: a; Outputs: ra’aStep 1Combinationallogics2 s1 s0n2ran1n0clkState registerStep 2a’ar=0r=1 r=1 r=0 r=1000001 010 011100Inputs: a;Outputs: rStep 3Step 4We’ll omit Step 511Example: Seq. Circuit to FSM (Reverse Engineering)clkState registeryzn0n1s0s1xWhat does this circuit do?Work backwardsy=s1’z = s1s0’n1=(s1 xor s0)xn0=(s1’*s0’)xPick any state names you wantADBCstatesOutputs:y, zADByz=01yz=00yz=10yz=10Cstates with outputsADByz=00yz=01yz=10yz=10CInputs: x;Outputs:y, zx’x’x’xxxstates with outputs and


View Full Document

UCR EE 120A - Controller Design

Download Controller Design
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Controller Design and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Controller Design 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?