spiral content mapping
play

Spiral Content Mapping Combinational Sequential System Level - PowerPoint PPT Presentation

2-1.1 2-1.2 Spiral Content Mapping Combinational Sequential System Level Implementation Spiral Theory Project Design Design Design and Tools Performance Decoders and Structural Verilog 1 metrics (latency muxes


  1. 2-1.1 2-1.2 Spiral Content Mapping Combinational Sequential System Level Implementation Spiral Theory Project Design Design Design and Tools • Performance • Decoders and • Structural Verilog 1 metrics (latency muxes • Edge-triggered HDL Spiral 2-1 vs. throughput) • Synthesis with flip-flops • Encoded State • CMOS gate • Boolean Algebra min/maxterms • Registers (with machine design implementation • Canonical • Synthesis with enables) • Fabrication Representations Karnaugh Maps process • Synthesis with 2 • Bistables, • One-hot state • MOS Theory muxes & latches, and Flip- machine design • Capacitance, • Shannon's memory flops • Control and delay and sizing Datapath Components: Theorem • Adder and Counters datapath Memory • • comparator • Memories decomposition constructs design Counters 3 • HW/SW • Power and other partitioning logic families Adders • Bus interfacing • EDA design • Single-cycle CPU process Design Example: Crosswalk Controller 2-1.3 2-1.4 Learning Outcomes • I understand the control inputs to counters • I can design logic to control the inputs of counters to create a desired count sequence • I understand how smaller adder blocks can be combined to form larger ones • I can build larger arithmetic circuits from smaller building blocks DATAPATH COMPONENTS • I understand the timing and control input differences between asynchronous and synchronous memories

  2. 2-1.5 2-1.6 Digital System Design • ___________ (CU) and ___________ Unit (DPU) paradigm – Separate logic into datapath elements that operate on data and control elements that generate control signals for datapath elements – Datapath: ___________, _________, comparators, ________, registers (shift, with enables, etc.), memories, FIFO’s – Control Unit: ________________/sequencers clk Control COUNTERS reset … Control … Condition Signals Signals Datapath Data Data Inputs Outputs 2-1.7 2-1.8 Counters Sample 4-bit Counter • Count (Add 1 to Q) at each • 4-bit Up Counter clock edge CE – RST: a synchronous reset P0 Q0 – Up Counter: ____________ P1 Q1 input 4-bit P2 Q2 CNTR – PE and P i inputs: loads Q P3 Q3 – Can also build a down counter as Adder (+) PE with P when PE is active well (____________) TC Q RST – CE: Count Enable Register 1 CLK • Standard counter components • Must be active for the counter to count up include other features – TC (Terminal Count) output CLK RST PE CE Q* – Resets: Reset count to 0 RESET • Active when Q=1111 AND 0,1 counter is enabled – Enables: Will not count at edge if CLK ↑ • TC = __________________ EN=0 – ____________ output ↑ How would you design the • Indicates that on the next ↑ – ______________ Inputs: Can adder block above for a 4-bit edge it will roll over to 0000 counter? ↑ initialize count to a value P (i.e. Q* = P rather than Q+1)

  3. 2-1.9 2-1.10 Counters Counter Exercise CLK RST CLK CE RST PE PE P3-P0 1110 CE P[3:0] 0011 1101 1001 1 0000 Q3-Q0 0000 0001 0010 0011 1110 1111 Q[3:0] TC SR=active Q*=Q+1 Enable Q*=Q+1 Q*=Q+1 PE = Q*=Q+1 Q*=Q+1 at clock = off, active, edge, thus thus Q thus Q=0 holds Q=P Mealy TC output: EN•Q3•Q2•Q1•Q0 2-1.11 2-1.12 Counter Design Design a 12-bit Counter (Why TC?) CE • Sketch the design of the 4-bit counter P0 Q0 Q9 Q8 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 P1 Q1 4-bit Q[3:0] P2 Q2 CNTR 0 0 0 0 0 0 0 0 0 0 P3 Q3 presented on the previous slides PE 0 0 0 0 0 0 0 0 0 1 TC RST CLK … 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 CE 0 CE P0 Q0 P1 Q1 … 4-bit Q[7:4] P2 Q2 + 0 1 CNTR P3 Q3 0 0 0 0 0 1 1 1 1 1 PE D[3:0] Q[3:0] TC Q[3:0] RST … CLK P[3:0] 1 0 0 1 1 1 1 0 0 0 0 Reg 0 0 1 1 1 1 0 0 0 1 PE CE … P0 Q0 RST CLR Q[11:8] P1 Q1 4-bit P2 Q2 0 0 1 1 1 1 1 1 1 1 CLK CNTR CLK P3 Q3 TC PE 0 1 0 0 0 0 0 0 0 0 TC RST CLK

  4. 2-1.13 2-1.14 Counter Example (Using Parallel Inputs) • Design a circuit that counts each clock cycle to produce the pattern 5, 6, 7, 8, 9, 5, 6, 7, 8, 9, 5...9, 5…9,… CE P0 Q0 P1 Q1 ADDERS 4-bit P2 Q2 CNTR P3 Q3 PE TC RST CLK 2-1.15 2-1.16 Adder Intro Adder Intro • So how would we build a circuit • Idea : Build a circuit that performs _____ column of to add two numbers? addition and then use _______________ of those Adder (+) circuits to perform the overall 4-bit addition • Let's try to design a circuit that Q Register 1 can add ANY two 4-bit • Let's start by designing a circuit that adds 2-bits: X numbers, X[3:0] and Y[3:0] and Y that are in the same column of addition – How many inputs? RESET – Can we use K-Maps or sum of CLK minterms, etc? 0110 = X 0110 = X + 0111 = Y + 0111 = Y 1101 1101

  5. 2-1.17 2-1.18 Addition – Half Adders Addition – Half Adders C out • We’d like to use one • Addition is done in columns 110 110 adder circuit for each – Inputs are the bit of X, Y 0110 = X 0110 = X column of addition – Outputs are the Sum Bit and Carry-Out (C out ) + 0111 = Y + 0111 = Y • Problem: • Design a Half-Adder (HA) 1101 1101 – No place for __________ circuit that takes in X and Y Sum of last adder circuit and outputs S and C out 0 1 0 1 1 1 • Solution X Y X Y C out S X Y X Y – Redesign adder circuit to Half C out 0 0 0 0 0 Half Half include an ___________ C out Adder 0 C out 1 Adder Adder 0 1 0 1 S ______________ S S 1 0 0 1 1 1 1 1 0 1 0 2-1.19 2-1.20 Addition – Full Adders Addition – Full Adders C out C in • Find the minimal 2-level implementations for Cout and S… • Add a Carry-In input(C in ) 110 • New circuit is called a 0110 = X X Y C in C out S Full Adder (FA) + 0111 = Y • Design the internal 0 0 0 1101 0 0 1 circuitry on the next 0 1 0 slide 0 1 0 1 1 1 0 0 X Y 1 0 1 Full 1 0 1 1 0 C out C in Adder 1 1 1 S 0

  6. 2-1.21 2-1.22 Full Adder Logic Addition – Full Adders • Use 1 Full Adder for each column of addition • S = ___________________ – Recall: _____ is defined as true 0110 when ODD number of inputs are true…exactly when the sum bit + 0111 should be 1 • Cout = ____________________ – Carry when sum is 2 or more (i.e. X Y X Y X Y X Y when at least 2 inputs are 1) Full Full Full Full C out C in C out C in C out C in C out C in – Circuit is just checking all Adder Adder Adder Adder combinations of 2 inputs S S S S 2-1.23 2-1.24 Addition – Full Adders Addition – Full Adders • Connect bits of bottom number to Y inputs • Use 1 Full Adder for each column of addition 01100 0110 = X 0110 = X + 0111 = Y + 0111 = Y 1101 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0 1 X Y X Y X Y X Y X Y X Y X Y X Y 0 1 1 0 Full Full Full Full Full Full Full Full 0 C out C in C out C in C out C in C out C in ___ C out C in C out C in C out C in C out C in Adder Adder Adder Adder Adder Adder Adder Adder S S S S S S S S 1 1 0 1

  7. 2-1.25 2-1.26 Addition – Full Adders Addition – Full Adders • Use 1 Full Adder for each column of addition • Use 1 Full Adder for each column of addition 01100 01100 0110 = X 0110 = X + 0111 = Y + 0111 = Y 1101 1101 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0 1 X Y X Y X Y X Y X Y X Y X Y X Y 0 1 1 0 0 1 1 0 Full Full Full Full Full Full Full Full C out C in C out C in C out C in C out C in 0 C out C in C out C in C out C in C out C in 0 Adder Adder Adder Adder Adder Adder Adder Adder S S S S S S S S 1 1 0 1 1 1 0 1 2-1.27 2-1.28 Addition – Full Adders Addition – Full Adders • Use 1 Full Adder for each column of addition • Use 1 Full Adder for each column of addition 01100 01100 0110 = X 0110 = X + 0111 = Y + 0111 = Y 1101 1101 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0 1 X Y X Y X Y X Y X Y X Y X Y X Y 0 1 1 0 0 1 1 0 Full Full Full Full Full Full Full Full 0 0 C out C in C out C in C out C in C out C in C out C in C out C in C out C in C out C in Adder Adder Adder Adder Adder Adder Adder Adder S S S S S S S S 1 1 0 1 1 1 0 1

  8. 2-1.29 2-1.30 Performing Subtraction w/ Adders Performing Subtraction w/ Adders 0101 • To subtract • To subtract 0101 = X 0101 0101 = X + 1100 - 0011 = Y – Flip bits of Y – Flip bits of Y + 1100 - 0011 = Y 1 0010 1 0010 0010 – Add 1 – Add 1 0010 0 0 1 1 0 1 0 1 1 1 0 0 X Y X Y X Y X Y X Y X Y X Y X Y Full Full Full Full Full Full Full Full C out C in C out C in C out C in C out C in C out C in C out C in C out C in C out C in Adder Adder Adder Adder Adder Adder Adder Adder S S S S S S S S 2-1.31 2-1.32 4-bit Adders Building an 8-bit Adder • 74LS283 chip implements a 4-bit adder • Use (2) 4-bit adders to build an 8-bit adder to add X=X[7:0] and Y= Y[7:0] and produce a sum, S=[7:0] and a carry-out, C8. – Make sure you understand the difference between system labels A 3 A 2 A 1 A 0 = A (actual signal names from the top level design) and device labels + B 3 B 2 B 1 B 0 = B (placeholder names for the signals inside each block). S 4 S 3 S 2 S 1 S 0 = S A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 C out C in 74LS283 S 3 S 2 S 1 S 0

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend