COVER SHEET: Total: Regrade Info: 7 (6 points) 2 (14 points) 4 (12 points) 8 (20 points) 9 (24 points) 10 (5 extra credit points)

Similar documents
COVER SHEET: Total: Regrade Info: 7 (5 points) 8 (6 points) 4 (10 points) 5 (12 points) 9 (15 points) 10 (27 points) 11 (4 free points)

COVER SHEET: Total: Regrade Info: Problem#: Points. 7 (14 points) 6 (7 points) 9 (6 points) 10 (21 points) 11 (4 points)

COVER SHEET: Total: Regrade Info: 7 (6 points) 2 (10 points) 9 (5 points) 8 (12 points) 12 (5 points) 11 (25 points)

Sign here to give permission for your test to be returned in class, where others might see your score:

COVER SHEET: Total: Regrade Info: 5 (5 points) 2 (8 points) 6 (10 points) 7b (13 points) 7c (13 points) 7d (13 points)

COVER SHEET: Total: Regrade Info: 2 (6 points) 3 (8 points) 4 (10 points) 8 (12 points) 6 (6 points) 7 (6 points) 9 (30 points) 10 (4 points)

Sign here to give permission for your test to be returned in class, where others might see your score:

COVER SHEET: Total: Regrade Info: 5 (14 points) 7 (15 points) Midterm 1 Spring 2012 VERSION 1 UFID:

Sign here to give permission to return your test in class, where other students might see your score:

EEL 4712 Name: SOLUTION Midterm 1 Spring 2016 VERSION 1 UFID:

EEL 4712 Digital Design Test 2 Spring Semester 2008

COVER SHEET: Problem#: Points

EEL 4712 Digital Design Test 1 Spring Semester 2008

Sign here to give permission for your test to be returned in class, where others might see your score:

EEL 4712 Digital Design Test 1 Spring Semester 2007

COVER SHEET: Total: Regrade Info: 1 (8 points) 2 ( 8 points) 3 (16 points) 4 (16 points) 5 (16 points) 6 (16 points) 7 (16 points) 8 (8 points)

Sign here to give permission for your test to be returned in class, where others might see your score:

Sign here to give permission for your test to be returned in class, where others might see your score:

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Control and Datapath 8

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

Hardware Description Language VHDL (1) Introduction

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

VHDL Examples Mohamed Zaky

CSE 260 Introduction to Digital Logic and Computer Design. Exam 1. Your name 2/13/2014

VHDL for Synthesis. Course Description. Course Duration. Goals

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a

Digital Systems Design

CSE 260 Introduction to Digital Logic and Computer Design. Exam 1 Solutions

Control Unit: Binary Multiplier. Arturo Díaz-Pérez Departamento de Computación Laboratorio de Tecnologías de Información CINVESTAV-IPN

Field Programmable Gate Array

CS 151 Final. (Last Name) (First Name)

ECE 448 Lecture 4. Sequential-Circuit Building Blocks. Mixing Description Styles

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University

Lab 3: Standard Combinational Components

VHDL And Synthesis Review

Part 4: VHDL for sequential circuits. Introduction to Modeling and Verification of Digital Systems. Memory elements. Sequential circuits

Digital Systems Laboratory

Digital Systems Laboratory

VHDL HIERARCHICAL MODELING

Multi-valued Logic. Standard Logic IEEE 1164 Type std_ulogic is ( U, uninitialized

Summary of FPGA & VHDL

Contents. Chapter 9 Datapaths Page 1 of 28

VHDL for FPGA Design. by : Mohamed Samy

Lecture 12 VHDL Synthesis

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

EEL 4783: Hardware/Software Co-design with FPGAs

DESCRIPTION OF DIGITAL CIRCUITS USING VHDL

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

Luleå University of Technology Kurskod SMD152 Datum Skrivtid

EECE-4740/5740 Advanced VHDL and FPGA Design. Lecture 3 Concurrent and sequential statements

CCE 3202 Advanced Digital System Design

CSE 141L Computer Architecture Lab Fall Lecture 3

EECE 353: Digital Systems Design Lecture 10: Datapath Circuits

FPGA for Software Engineers

CSCB58 - Lab 3. Prelab /3 Part I (in-lab) /2 Part II (in-lab) /2 TOTAL /8

ELCT 501: Digital System Design

Exp#8: Designing a Programmable Sequence Detector

[VARIABLE declaration] BEGIN. sequential statements

VHDL: Modeling RAM and Register Files. Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2

CprE 583 Reconfigurable Computing

VHDL simulation and synthesis

VHDL for Modeling - Module 10

Verilog for High Performance

VHDL for Complex Designs

Mark II Aiken Relay Calculator

ECE 545 Fall 2013 Final Exam

Building Blocks. Entity Declaration. Entity Declaration with Generics. Architecture Body. entity entity_name is. entity register8 is

TSEA44 - Design for FPGAs

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

Advanced Electronics Lab.

Sequential Logic - Module 5

Spiral 3-1. Hardware/Software Interfacing

Outcomes. Spiral 1 / Unit 6. Flip Flops FLIP FLOPS AND REGISTERS. Flip flops and Registers. Outputs only change once per clock period

Learning Outcomes. Spiral 3 1. Digital Design Targets ASICS & FPGAS REVIEW. Hardware/Software Interfacing

Verilog Module 1 Introduction and Combinational Logic

In our case Dr. Johnson is setting the best practices

UNIT I Introduction to VHDL VHDL: - V -VHSIC, H - Hardware, D - Description, L Language Fundamental section of a basic VHDL code Library :

Introduction to VHDL #3

Concurrent & Sequential Stmts. (Review)

Lattice VHDL Training

MAX 10. Memory Modules

Topics. Midterm Finish Chapter 7

8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

1-D Time-Domain Convolution. for (i=0; i < outputsize; i++) { y[i] = 0; for (j=0; j < kernelsize; j++) { y[i] += x[i - j] * h[j]; } }

Computer-Aided Digital System Design VHDL

ENGG3380: Computer Organization and Design Lab5: Microprogrammed Control

EE434 ASIC & Digital Systems

Problem Set 10 Solutions

Final Project: MIPS-like Microprocessor

Introduction to VHDL

Spiral 1 / Unit 6. Flip-flops and Registers

Outcomes. Spiral 1 / Unit 6. Flip Flops FLIP FLOPS AND REGISTERS. Flip flops and Registers. Outputs only change once per clock period

Inferring Storage Elements

Multiplication Simple Gradeschool Algorithm for 16 Bits (32 Bit Result)

CDA 4253 FPGA System Design Op7miza7on Techniques. Hao Zheng Comp S ci & Eng Univ of South Florida

The University of Alabama in Huntsville ECE Department CPE Midterm Exam Solution March 2, 2006

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Transcription:

EEL 4712 Midterm 3 Spring 2011 VERSION 1 Name: UFID: Sign your name here if you would like for your test to be returned in class: IMPORTANT: Please be neat and write (or draw) carefully. If we cannot read it with a reasonable effort, it is assumed wrong. As always, the best answer gets the most points. COVER SHEET: Problem#: 1 (6 points) 2 (14 points) 3 (6 points) 4 (12 points) 5 (6 points) 6 (6 points) 7 (6 points) 8 (20 points) 9 (24 points) 10 (5 extra credit points) Regrade Info: Points Total:

ENTITY _entity_name IS PORT( input_name, input_name : IN STD_LOGIC; input_vector_name : IN STD_LOGIC_VECTOR( high downto low); bidir_name, bidir_name : INOUT STD_LOGIC; output_name, output_name : OUT STD_LOGIC); END entity_name; ARCHITECTURE a OF entity_name IS SIGNAL signal_name : STD_LOGIC; BEGIN -- Process Statement -- Concurrent Signal Assignment -- Conditional Signal Assignment -- Selected Signal Assignment -- Component Instantiation Statement END a; instance_name: component_name PORT MAP ( component_port => connect_port, component_port => connect_port); WITH expression SELECT signal <= expression WHEN constant_value, expression WHEN constant_value, expression WHEN constant_value, expression WHEN constant_value; signal <= expression WHEN boolean_expression ELSE expression WHEN boolean_expression ELSE expression; IF expression THEN ELSIF expression THEN ELSE END IF; CASE expression IS WHEN constant_value => WHEN constant_value => WHEN OTHERS => END CASE; <generate_label>: FOR <loop_id> IN <range> GENERATE -- Concurrent Statement(s) END GENERATE;

1) (6 points) Explain how a return instruction for the Small8 determines the return address of a function call. 2) (14 points) Write the assembly code to implement the following code. You only need to show the actual instructions, not the entire assembly program (e.g. lab test cases). Make sure to list any assumptions. i=0; while (i < 100) { i++; } 3) (6 points) Draw a schematic of the FPGA circuit that would be synthesized for the following bus structure. A B C

4) (12 points) List each step of an opcode fetch including all 8-bit, internal bus transfers. If you made significant changes to the architecture, make sure to describe them, but you must explain the purpose of each architectural register that is part of the fetch. 5) (6 points) Fix the metastability problems in the following circuit: Clk1 Clk2 ff ff 6) (6 points) What is the main limitation of a mux-recirculation synchronizer and how does a handshake address this limitation? 7) (6 points) Which of the following explains why a dual-flop synchronizer cannot be used to synchronize multiple-bit signals? (a) Multiple bits take longer to stabilize (b) Different bits may stabilize to different values (c) Routing delays between clock domains may cause each bit to arrive in different cycles in the destination domain (d) b and c (e) a, b, and, c

8) (20 points) Create a memory initialization file for the following assembly code. Add a comment at the beginning of each instruction. You will likely need to break your answer up into two columns to fit on the page. INPORT0 EQU $FFFE OUTPORT0 EQU $FFFE MASK EQU $0F BEGIN: LDAA INPORT0 STAR D LDAI MASK ANDR D STAR D LDAA VALUE1 CLCR ADCR D STAA OUTPORT0 INFINITE_LOOP: CLRC BCCA INFINITE_LOOP * Data Area VALUE1: dc.b $55 END BEGIN Depth = 256; Width = 8; Address_radix = hex; Data_radix = hex; % Program RAM Data % Content Begin [..00FF] : 00; End;

9) a. (6 points) For the following pseudo-code and schedule for the body of the loop, what is the minimum number of adders and multipliers required by the datapath to execute this schedule, assuming each state corresponds to a different cycle? Do not change the schedule (it is purposely suboptimal). for (i=0; i < 1000000; i++) { a[i] = b[i]*82 + b[i+1]*41 + b[i+2]*55 + b[i+3]*12; } 1. Load b[i], Load [i+1] 2. Load b[i+2], Load b[i+3], Multiply1 (b[i]*82), Multiply2 (b[i+1]*41) 3. Multiply3 (b[i+2] *55), Multiply4 (b[i+3]*12) 4. Add1 (Multiply1 + Multiply2), Add2 (Multiply3 + Multiply4), 5. Add3 (Add1+Add2) 6. Store a[i] b. (6 points) Optimize the schedule to reduce the required number of adders by 1, without affecting the total number of cycles. You only need to specify the changes. c. (6 points) Estimate the performance of the circuit (in # of cycles) with the schedule shown in part a.

d. (6 points) For the following pipelined datapath, what is the approximate performance of the loop in terms of number of cycles? Ignore initialization states. Assume memory bandwidth is sufficient to handle all datapath inputs/outputs. b[i] b[i+1] b[i+2] b[i+3] 82 41 55 12 * * * * + + + a[i] 10) (5 extra credit points) Shift registers are commonly used as delays in pipelined circuits. For deep pipelines, these shift registers can sometimes have a length of greater than 100, which requires many flip-flops in the FPGA. For long shift registers, a more efficient implementation is possible using RAMs. Explain how a block RAM and other additional logic can be used to implement a shift register.