CS150 Fall 2012 Solutions to Homework 4

Similar documents
CSE 352 Laboratory Assignment 3

The basic logic gates are the inverter (or NOT gate), the AND gate, the OR gate and the exclusive-or gate (XOR). If you put an inverter in front of

1.b. Realize a 5-input NOR function using 2-input NOR gates only.

Instructions. Final Exam CPSC/ELEN 680 December 12, Name: UIN:

Computer Architecture and Organization

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Field Programmable Gate Arrays (FPGAs)

REPEAT EXAMINATIONS 2002

ECE 715 System on Chip Design and Test. Lecture 22

CS 151 Final. Instructions: Student ID. (Last Name) (First Name) Signature

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS150, Spring 2011

Step 1 - shaft decoder to generate clockwise/anticlockwise signals

Principles of Computer Architecture. Appendix A: Digital Logic

MODULE 3. Combinational & Sequential logic

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

Solution to Digital Logic )What is the magnitude comparator? Design a logic circuit for 4 bit magnitude comparator and explain it,

1. a) For the circuit shown in figure 1.1, draw a truth table showing the output Q for all combinations of inputs A, B and C. [4] Figure 1.

1. Convert the decimal number to binary, octal, and hexadecimal.

Logic Design II (17.342) Spring Lecture Outline

VLSI System Testing. BIST Motivation

Introduction Actel Logic Modules Xilinx LCA Altera FLEX, Altera MAX Power Dissipation

Sequential logic circuits

EECS 270 Midterm 1 Exam Closed book portion Winter 2017

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory. National Central University

Midterm Exam 15 points total. March 28, 2011

Computer Systems Architecture

High Performance Carry Chains for FPGAs

March 13, :36 vra80334_appe Sheet number 1 Page number 893 black. appendix. Commercial Devices

Why FPGAs? FPGA Overview. Why FPGAs?

CS61C : Machine Structures

L11/12: Reconfigurable Logic Architectures

Logic Design II (17.342) Spring Lecture Outline

Chapter 5 Synchronous Sequential Logic

Chapter Contents. Appendix A: Digital Logic. Some Definitions

Combinational vs Sequential

More Digital Circuits

Sequential Design Basics

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters

Advanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20

When the OR-array is pre-programed (fixed) and the AND-array. is programmable, you have what is known as a PAL/GAL. These are very low

Design for Test. Design for test (DFT) refers to those design techniques that make test generation and test application cost-effective.

EECS 270 Group Homework 4 Due Friday. June half credit if turned in by June

COMP sequential logic 1 Jan. 25, 2016

BCN1043. By Dr. Mritha Ramalingam. Faculty of Computer Systems & Software Engineering

FE REVIEW LOGIC. The AND gate. The OR gate A B AB A B A B 0 1 1

FPGA Design. Part I - Hardware Components. Thomas Lenzi

ASNT8140. ASNT8140-KMC DC-23Gbps PRBS Generator with the (x 7 + x + 1) Polynomial. vee. vcc qp. vcc. vcc qn. qxorp. qxorn. vee. vcc rstn_p.

L12: Reconfigurable Logic Architectures

Chapter 3. Boolean Algebra and Digital Logic

Asynchronous (Ripple) Counters

Lecture 8: Sequential Logic

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 220. Experiment 4 - Latches and Flip-Flops

PESIT Bangalore South Campus

Encoders and Decoders: Details and Design Issues

The word digital implies information in computers is represented by variables that take a limited number of discrete values.

Department of Electrical and Computer Engineering Mid-Term Examination Winter 2012

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

EECS 270 Homework the Last Winter 2017

NORTHWESTERN UNIVERSITY TECHNOLOGICAL INSTITUTE

EECS 270 Final Exam Spring 2012

Design and Implementation of FPGA Configuration Logic Block Using Asynchronous Static NCL

Analogue Versus Digital [5 M]

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

Department of Electrical and Computer Engineering University of Wisconsin Madison. Fall Final Examination CLOSED BOOK

Overview: Logic BIST

CprE 281: Digital Logic

Section 6.8 Synthesis of Sequential Logic Page 1 of 8

Final Examination (Open Katz, Calculators OK, 3 hours)

MODU LE DAY. Class-A, B, AB and C amplifiers - basic concepts, power, efficiency Basic concepts of Feedback and Oscillation. Day 1

YEDITEPE UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING. EXPERIMENT VIII: FLIP-FLOPS, COUNTERS 2014 Fall

0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 1 1 Stop bits. 11-bit Serial Data format

CSE140: Components and Design Techniques for Digital Systems. More D-Flip-Flops. Tajana Simunic Rosing. Sources: TSR, Katz, Boriello & Vahid

COE 202: Digital Logic Design Sequential Circuits Part 1. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:

Computer Organization & Architecture Lecture #5

Unit 11. Latches and Flip-Flops

Good Evening! Welcome!

Counter dan Register

Chapter 5 Sequential Circuits

EECS150 - Digital Design Lecture 19 - Finite State Machines Revisited

RELATED WORK Integrated circuits and programmable devices

ECE 301 Digital Electronics

Good Evening! Welcome!

Final Exam review: chapter 4 and 5. Supplement 3 and 4

DIGITAL CIRCUIT LOGIC UNIT 11: SEQUENTIAL CIRCUITS (LATCHES AND FLIP-FLOPS)

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

Registers and Counters

DIGITAL ELECTRONICS MCQs

Other Flip-Flops. Lecture 27 1

Unit 9 Latches and Flip-Flops. Dept. of Electrical and Computer Eng., NCTU 1

Practice Homework Problems for Module 3

ECE 172 Digital Systems. Chapter 2.2 Review: Ring Counter, Johnson Counter. Herbert G. Mayer, PSU Status 7/14/2018

University of Florida EEL 3701 Fall 1996 Dr. Eric M. Schwartz

CS/ECE 250: Computer Architecture. Basics of Logic Design: ALU, Storage, Tristate. Benjamin Lee

LFSR TEST PATTERN FOR FAULT DETECTION AND DIAGNOSIS FOR FPGA CLB CELLS

FPGA Implementation of Sequential Logic

VLSI Technology used in Auto-Scan Delay Testing Design For Bench Mark Circuits

To design a sequential logic circuit using D-Flip-flop. To implement the designed circuit.

Vignana Bharathi Institute of Technology UNIT 4 DLD

Midterm Examination II

Transcription:

CS150 Fall 2012 Solutions to Homework 4 September 23, 2012 Problem 1 43 CLBs are needed. For one bit, the overall requirement is to simulate an 11-LUT with its output connected to a flipflop for the state bit s register. Using the general rule of LUT combination, it is possible to make an 11-LUT out of 8 8-LUTs and an 8:1 multiplexer. In order to satisfy the requirement of 8 8-LUTs, 8 slices may be used in the configuration to implement an 8:1 logic function, as discussed in class. For one bit, there are 11 inputs to the logic function determining its next value. If these inputs are numbered I 0 through I 10, we may assign I 0 through I 7 to be connected to the 8-LUTs. Each of these 8-LUTs will implement the subset of the overall truth table corresponding with one potential state of the remaining inputs I 8 through I 10. These intermediate outputs can be numbered O 0 through O 8. The final step is to select the correct signal from the set of intermediate outputs. This can be accomplished with an 8:1 multiplexer selecting based on the state of {I 8, I 9, I 10 }. Since a 6-LUT has 6 inputs, it can implement any 6:1 logic function, including a 4:1 multiplexer, which has 2 + 4 inputs including the select. Therefore, intermediate outputs O 0 through O 3 can be fed into a 6-LUT in another slice along with I 8 and I 9, while intermediate outputs O 4 through O 7 are fed into a second 6-LUT with I 8 and I 9. Finally, the outputs of these two 6-LUTs (one of which contains the correct output for the 11-input overall logic function) can be multiplexed by one of the 2-input muxes connected to pairs of 6-LUT outputs, F7AMUX or F7BMUX. However, since this 8:1 multiplexing and registering uses two 6-LUTs, along with one of the muxes used for 7-input functions and one output flip-flop, the slice has only half of its inputs and outputs used. If LUTs C and D are used, all logic associated with LUTs A and B are unused, and vice versa. Therefore, the glue logic for two state bits can be made to fit in one slice. However, an acceptable answer could still use one whole slice for this glue logic per bit. This results in 8 + 0.5 = 8.5 slices used per bit. For the total number of CLBs, we take the ceiling of half the number of slices used for all ten bits. number of CLBs = [10 (8 + 0.5)] /2 = 42.5 = 43 Using one whole extra slice on top of the 8 to implement 8 8-LUTs per bit, one could alternately use: number of CLBs = [10 (8 + 1)] /2 = 45 = 45 1

CS150 Fall 2012 Solutions to Homework 4 2 Below is a block diagram of the 85-SLICE or 43-CLB configuration for two bits. This structure repeated five times would yield the entire FSM state logic; this portion uses 17 slices.

CS150 Fall 2012 Solutions to Homework 4 3 Problem 2 Since we are given the information that 8 inputs and 8 state bits (and therefore 8 output registers) are used, the only requirement is that the number of product terms overwhelms the number of inputs on the or gate. Here, we will use the pin numbering to subscript the signals. Therefore, the inputs will be I 2 through I 9 and the state bits will be S 12 through S 19. Any logic function with more than 8 product terms in its most reduced form will prevent implementation using one macrocell. One example is: Out = I 2 + I 3 + I 4 + I 5 + I 6 + I 7 + I 8 + I 9 + S 12

CS150 Fall 2012 Solutions to Homework 4 4 Problem 3 a.) State transition diagram: b.) The four output phases will be pins 12, 14, 16, and 18, respectively. Pins [19 : 12] will represent the eight state bits; on the following the positive edge where reset is high, pin 19 will be high. The overall mode will be registered, and all the macrocells will have output logic used as a register, with the output permanently enabled from the FF. c.) Fuse table:

CS150 Fall 2012 Solutions to Homework 4 5

CS150 Fall 2012 Solutions to Homework 4 6 Problem 4 a.) This circuit will implement a linear feedback shift register to generate a maximal-length sequence of output bits. Because we have a total of 8 flip-flops available, we may only implement a maximum 8-bit LFSR (regardless of feedback logic). Therefore, using the Wikipedia-sourced polynomial of o = x 8 + x 6 + x 5 + x 4 + x 0, we may derive the value of the next input bit as a function of the current 8-bit state. However, calculating o = x 8 + x 6 + x 5 + x 4 + x 0 has quite a lot of computation. Luckily, our next input is a single bit, so we need only use a logic function with 1-bit parity output! Wikipedia has also done the CS70 for us; therefore, we find that for the generator polynomial: o = x n 1 + x n 2 + + x n k + x 0 The one-bit output next is simply given as the XOR of the bit positions corresponding to (power 1) for each term. next = x[n 1 1] x[n 2 1] x[n k 1] Using the polynomial above, we have the following logical equation. next = reg[7] reg[5] reg[4] reg[3] The only remaining consideration is adding an OR with reset signal to ensure that some bit is nonzero after reset the state 8 b0 will result in a constant output! The following circuit implements this function. next = (reg[7] reg[5] reg[4] reg[3]) + res b.) If we want a non-repeating sequence of greater than 60000 bits, we need a 16-bit LFSR per the Wikipedia article. Since only 8 signals may be registered in one Atmel ATF16V8 unit, the design would need to be changed to incorporate two ATF16V8s with the shift register spanning the two devices.

CS150 Fall 2012 Solutions to Homework 4 7 Problem 5 a.) First, the output function must be mapped to an empty K-map. Then, the K-map is filled out with three rectangles. This output function corresponds with Y = AC + A D + BD.

CS150 Fall 2012 Solutions to Homework 4 8 b.) Since there are only 12 months which are numbered from 1, the output function is don t care for inputs 4 b0000 and 4 b1101 through 4 b1111. Therefore, we have the following blank K-map. It can then be filled with two rectangles. This corresponds with Y = Ī3I 0 + I 3 Ī 0. Below is a circuit implementation:

CS150 Fall 2012 Solutions to Homework 4 9 Problem 6 a.) Block diagram: b.) The control signals are the address, the next address, and the write enable. c.) The state bits of the control FSM are simply the lowest two bits of the address, Address[1 : 0]. d.) To use one adder to get the absolute value, we could use the dead time that results from not using the data from D[4n+2]. During this time, we could feed back the delayed result of the adder into the adder with a bitwise inversion and add 10 b1 this would result in the additive inverse of the result. Then, the SRAM writeback value could conditionally take this additive inverse or the delayed sum depending on whether the delayed sum was negative.

CS150 Fall 2012 Solutions to Homework 4 10