course summary - 3213: digital systems & microprocessors:l#18_19 rtl approach digital system...

Download Course Summary - 3213: Digital Systems & Microprocessors:L#18_19 RTL approach Digital system divided

Post on 24-Mar-2020




0 download

Embed Size (px)


  •  1. Course overview  2. Intro to PICOBLAZE, C and Number systems and Boolean Algebra  3. Course overview with microprocessor MU0 (I)  4. Course overview with microprocessor MU0 (II)  5. Verilog HDL  6. Digital system components using schematics and Verilog  7. Combinational logic standard forms. Karnaugh maps  8. Combinational ccts and configurable logic devices  9. Simple Sequential circuits, flip flops 10. Sequential circuits, counters, registers, memories 11. Non­ideal effects in digital circuits 12. Finite State Machines 13. Design of FSMs 14. Register Transfer Level Systems (RTL) systems 15. Design of RTL Systems 16. Non­ideal effects in complex digital systems (Karnaugh maps) 17. Complex RTL design 18. The PICOBLAZE Softcore 19. Assembly language programming 20. C and Assembly 21. Other microprocessor architectures

    3213: Digital Systems & Microprocessors: L#18_19

    Course Summary

  • 3213: Digital Systems & Microprocessors: L#18_19

    Controllers  The state description is primary

     FSM producing control signals

     Control signals determine actions performed in  other parts of the system

    Autonomous Controller: fixed sequence of  states independent of inputs

  • 3213: Digital Systems & Microprocessors:L#18_19

    RTL approach  Digital system divided into Data and Control subsystems.

     The state of a system consists of the contents of its registers.

     Functioning of system performed in a sequence of register  transfers synchronous to the clock.

     The register transfer is a transformation performed on a datum  while the datum is transferred from one register to another.

    The sequencing of the register transfers is controlled by the  control subsystem

  • 3213: Digital Systems & Microprocessors: L#18_19

    Sequential Execution Graphs



    Only one node can be executed at a time

  • 3213: Digital Systems & Microprocessors L#18_19

    Group Sequential Execution Graph In group sequential execution graphs each group can start  when the preceding has been executed

  • 3213: Digital Systems & Microprocessors:L#18_19

    Transfer Concurrent into Sequential Execution Graph Any concurrent execution graph can be converted into an  equivalent sequential graph by sequencing of the concurrent nodes

  • 3213: Digital Systems & Microprocessors:L#18_19

    Digital Systems using RTL Approach  Microprocessors

     MU0  PICOBLAZE  RP calculator

     Navigation systems  Image processing systems  Telecommunications

     Routers, switches  Modems   Radios

     Set­top boxes, cell­phones, GPS receivers,...

  • 3213: Digital Systems & Microprocessors:L#18_19

    A Radio Receiver  “Design a radio receiver to communicate digital data” (ignore analog and other performance specs)

      Modulation  scheme  based  on  Binary  Phase  Shift  Keying  (BPSK) – but issues with carrier offsets

     Instead use Differential Binary Phase Shift Keying          (DBPSK or simply DPSK)

     DBPSK used in IEEE802.11b (WiFi).   Also adopt Barker code to do autocorrelation for timing extraction.   However  802.11b  based  on  Direct  Sequence  Spread  Spectrum 


  • 3213: Digital Systems & Microprocessors:L#18_19

    Receive signals via analog RF Front End

     Radios consist of analog  front ends and digital baseband  processors

  • 3213: Digital Systems & Microprocessors:L#18_19

    Mathematics of Demodulation   Radiowave  propagates  from  a  transmitter  to  a  receiver  on a modulated sinusoidal carrier 

    Signal = A exp j{ωC t + φ}

      Mixers  multiply  the  signal  by  a  local  oscillator   sine  wave with quadrature components, producing a  low pass  filtered baseband signal

    I   = A cos{ Ωt + φ } Q = A sin{ Ωt + φ }

    note Ω = ωC− ωLO the carrier offset

  • 3213: Digital Systems & Microprocessors: L#18_19

    How do BPSK and DPSK work?

    Only modulate φ and ignore A.

     BPSK   A digital 1 = 0o phase shift  A digital 0 = π phase shift

     DBPSK  A digital 1 = Change phase by π  A digital 0 = No phase change

     But Ω the carrier offset causes an error 

  • 3213: Digital Systems & Microprocessors: L#18_19

    BPSK and DBPSK

  • 3213: Digital Systems & Microprocessors: L#18_19

    Wireless Impairments Crucial...  Carrier offset, Ω  (Differential coding)   Symbol  timing  synchronisation  (Timing  recovery FSM)  Data extraction  

    As in IEEE802.11b we ignore..  Random noise (Error coding)  Inter­symbol interference (Equalisation)

  • 3213: Digital Systems & Microprocessors: L#18_19

    BPSK No Carrier Offset: I,Q look like...

  • 3213: Digital Systems & Microprocessors: L#18_19

    BPSK with Carrier Offset: I/Q look like...

    Carrier offset flips the bit  every phase change!!

  • 3213: Digital Systems & Microprocessors: L#18_19

    DBPSK No Carrier Offset

     Data:   ­1  ­1   1   1   1  ­1  ­1   1   1

  • 3213: Digital Systems & Microprocessors: L#18_19

    DBPSK With Carrier Offset

     Data:  1   1   1  ­1   1  ­1   1  ­1   1

    Small Carrier offset  harmless if the   inter­symbol phase  difference unaffected

  • 3213: Digital Systems & Microprocessors: L#18_19



    3213: Digital Systems & Microprocessors: L#18_19

    ADC Interface  (like KBD and Button Interfaces)  Roles of ADC Interface

     Handle the ADC sampling protocol / oversample at Ns times symbol rate  Provide I and Q 16 bit streams valid at posedge SysClk  Provide a measure of the minimum acceptable signal strength   (Received signal strength indicator, RSSI)

  • 3213: Digital Systems & Microprocessors:L#18_19

    Finite Input Response Filter

     Filtering reduces the occupied bandwidth to the minimum possible (Nyqiust =>  1/(2TS)  Best filtering is matched filtering where the filter impulse response is the  same as the time reversed symbol pulse shape (autocorrelation)  However practical considerations affect the actual implementation

     Filtering involves convolution

    Where x(k) is the input sequence, b(k) are the filter tap weights and y(k) is the output

  • 3213: Digital Systems & Microprocessors:L#18_19

    Finite Input Response Filter (Tapped Delay Line)

    16 bit D flip­flop

  • 3213: Digital Systems & Microprocessors:L#18_19

    Simple FIR involves multiplication One solution: Use Cascaded Integrator Comb filters

  • 3213: Digital Systems & Microprocessors:L#18_19

    Demodulation of DBPSK  Oversampled I and Q samples: I(k) Q(k)  Oversampling rate Ns per symbol  Use the inner product (dot product)

    Z(k) = I(k) I(k+Ns) + Q(k) Q(k+Ns)

  • 3213: Digital Systems & Microprocessors:L#18_19

    Inner product implementation

  • 3213: Digital Systems & Microprocessors:L#18_19

    Early late Algorithm: apply to inner product, Z(k) Pilots Barker

    If Z(k) > 0 and Z(k) > Z(k­1), Z(k+1) then data bit = 1 for k­th sample

    If Z(k) 

  • , 0

    3213: Digital Systems & Microprocessors:L#18_19

    Early late FSM

  • 3213: Digital Systems & Microprocessors:L#18_19

    Extraction of Information Bits  Use the barker bit sequence to find the first info bit

    =  [1,  1,  1,  −1,  −1,  −1,  1,  −1,  −1,  1,  −1]

     Could use pattern matching as in the Morse code  translator – but data is corrupted by noise – one wrong  Barker bit and the pattern matcher will fail

      As  in  IEEE802.11b  use  autocorrelation  to  minimise  effect of noise.  AutoCorr(k) = barker * {d(k),d(k­1),...,d(k­10)}

  • 3213: Digital Systems & Microprocessors:L#18_19


     Cross­correlation similar to convolution

    Where x(k) is the input sequence, b(k) is the Barker sequence and y(k) is the output

    The first info bit is the one located right after the Barker sequence and  the input sequence is aligned  with the Barker sequence at the maximum  of the

View more >