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)

Similar documents
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: 5 (14 points) 7 (15 points) Midterm 1 Spring 2012 VERSION 1 UFID:

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

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

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)

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

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: 7 (6 points) 2 (10 points) 9 (5 points) 8 (12 points) 12 (5 points) 11 (25 points)

EEL 4712 Digital Design Test 1 Spring Semester 2008

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)

EEL 4712 Digital Design Test 1 Spring Semester 2007

EEL 4712 Digital Design Test 2 Spring Semester 2008

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:

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

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

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

ECE 545: Lecture 11. Programmable Logic Memories

ECE 545: Lecture 11. Programmable Logic Memories. Recommended reading. Memory Types. Memory Types. Memory Types specific to Xilinx FPGAs

COVER SHEET: Problem#: Points

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

ECE 699: Lecture 9. Programmable Logic Memories

ECE 545 Lecture 17 RAM. George Mason University

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

ECE 448 Lecture 13. FPGA Memories. George Mason University

Summary of FPGA & VHDL

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

ECEU530. Schedule. ECE U530 Digital Hardware Synthesis. Datapath for the Calculator (HW 5) HW 5 Datapath Entity

Midterm Exam Thursday, October 24, :00--2:15PM (75 minutes)

EEL 4783: Hardware/Software Co-design with FPGAs

Sequential Statement

VHDL And Synthesis Review

Introduction to VHDL #3

Control and Datapath 8

VHDL for FPGA Design. by : Mohamed Samy

VHDL. Official Definition: VHSIC Hardware Description Language VHISC Very High Speed Integrated Circuit

Lattice VHDL Training

Timing in synchronous systems

ECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers

[VARIABLE declaration] BEGIN. sequential statements

VHDL HIERARCHICAL MODELING

CDA 4253 FGPA System Design Xilinx FPGA Memories. Hao Zheng Comp Sci & Eng USF

Field Programmable Gate Array

Review. LIBRARY list of library names; USE library.package.object; ENTITY entity_name IS generic declarations PORT ( signal_name(s): mode signal_type;

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

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

VHDL Examples Mohamed Zaky

Getting Started with VHDL

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture

Computer-Aided Digital System Design VHDL

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

Sequential Logic - Module 5

ECE 545 Lecture 12. FPGA Resources. George Mason University

CprE 583 Reconfigurable Computing

Introduction to VHDL #2

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

ECE 545 Lecture 8. Data Flow Description of Combinational-Circuit Building Blocks. George Mason University

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

1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013

Lecture 12 VHDL Synthesis

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6

CprE 583 Reconfigurable Computing

Review of Digital Design with VHDL

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

Topics. Midterm Finish Chapter 7

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

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

Advanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis. 26 October - 20 November, 2009

Test Benches - Module 8

EEE8076. Reconfigurable Hardware Design (coursework) Module Outline. Dr A. Bystrov Dr. E.G. Chester. Autumn

Advanced Digital Design Spring 2011 Final Examination Time Limit: 2 Hours

ECEU530. Last Few Lectures. ECE U530 Digital Hardware Synthesis. What is on Quiz 2. Projects. Today:

310/ ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006

Tutorial 4 HDL. Outline VHDL PROCESS. Modeling Combinational Logic. Structural Description Instantiation and Interconnection Hierarchy

CS211 Digital Systems/Lab. Introduction to VHDL. Hyotaek Shim, Computer Architecture Laboratory

Contents. Chapter 9 Datapaths Page 1 of 28

Mridula Allani Fall Fall

Constructing VHDL Models with CSA

ENGG3380: Computer Organization and Design Lab4: Buses and Peripheral Devices

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6

FSM Components. FSM Description. HDL Coding Methods. Chapter 7: HDL Coding Techniques

Lecture 11 Memories in Xilinx FPGAs

Homework deadline extended to next friday

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

The University of Alabama in Huntsville ECE Department CPE Final Exam Solution Spring 2004

HDL Coding Style Xilinx, Inc. All Rights Reserved

Hardware Description Language VHDL (1) Introduction

VHDL simulation and synthesis

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

EE6301 DIGITAL LOGIC CIRCUITS UNIT V VHDL PART A

Department of Electronics & Communication Engineering Lab Manual E-CAD Lab

Problem Set 10 Solutions

Altera s Avalon Communication Fabric

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 8

Reconfigurable Hardware Design (coursework)

VHDL for Modeling - Module 10

Lab 3: Standard Combinational Components

EL 310 Hardware Description Languages Midterm

Design Guidelines for Using DSP Blocks

3 Designing Digital Systems with Algorithmic State Machine Charts

Transcription:

EEL 4712 Midterm 2 Spring 2010 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 (6 points) 3 (8 points) 4 (10 points) 5 (12 points) 6 (6 points) 7 (6 points) 8 (12 points) 9 (30 points) 10 (4 points) Points Total: Regrade Info:

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; type identifier is type_definition; subtype identifier is subtype_indication;

1) (6 points) For the memory entity given below, which of the answers best describes the memory structure that is inferred during synthesis? library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ram is port (clk : in std_logic; we : in std_logic; addr1 : in std_logic_vector(4 downto 0); addr2 : in std_logic_vector(4 downto 0); data_in : in std_logic_vector(3 downto 0); read_data1 : out std_logic_vector(3 downto 0); read_data2 : out std_logic_vector(3 downto 0)); end ram; architecture syn of ram is type ram_type is array (31 downto 0) of std_logic_vector (3 downto 0); signal RAM : ram_type; begin process (clk) begin if (clk'event and clk = '1') then if (we = '1') then RAM(conv_integer(addr1)) <= di; end if; end if; end process; read_data1 <= RAM(conv_integer(addr1)); read_data2 <= RAM(conv_integer(addr2)); end syn; a) Single-port memory, synchronous writes, synchronous reads b) Dual-port memory, synchronous writes, synchronous reads c) Dual-port memory, synchronous writes, asynchronous reads d) Dual-port memory, asynchronous writes, asynchronous reads

2) (6 points) What is the minimum number of adders and multipliers that are needed to create a datapath for the following pseudo-code, assuming that an appropriate controller exists? for (i=0; i < 100; i++) { result = a[i]*b[i]*c[i]*d[i] + e[i]*16 + f[i]*8 + result; } 3) a. (2 points) Write a VHDL type declaration called MY_ARRAY that creates a 2D array with 8 rows and 4 columns, where each element is a 32-bit std_logic_vector. b. (2 points) Write a VHDL type declaration called MY_ARRAY that creates a 2D array with unconstrained ranges for each dimension, where each element is a 32-bit std_logic_vector. c. (2 points) Using the type from part b, instantiate an object of type MY_ARRAY with 50 rows and 100 columns. d. (2 points) What doesn t VHDL allow in the following type declaration? type MY_ARRAY is array (natural range<>, natural range<>) of std_logic_vector

4) a. (5 points) Briefly explain the purpose of the horizon sync (h_sync) and vertical sync (v_sync) signals in the VGA lab. b. (5 points) Why are the color signals turned off at certain times during the drawing of the screen? When does this occur? What is the name of these intervals where the color is off?

5) (12 points) Fill in the code provided below to create a series of delay registers with generic width and number of delay cycles. You must use a structural architecture with the provided generate loop that connects together the register (reg) components. The circuit should look like this: output WIDTH Reg.......... Reg Reg input WIDTH NUM_CYCLES library IEEE; use IEEE.STD_LOGIC_1164.all; entity delay is generic(num_cycles : positive; width : positive); port( clk : in std_logic; rst : in std_logic; input : in std_logic_vector(width-1 downto 0); output : out std_logic_vector(width-1 downto 0)); end delay; architecture str of delay is type ARRAY_TYPE is array (0 to num_cycles) of std_logic_vector(width-1 downto 0); component reg generic (width : positive := 32); port(clk : in std_logic; rst : in std_logic; input : in std_logic_vector(width-1 downto 0); output : out std_logic_vector(width-1 downto 0)); end component; signal reg_val : ARRAY_TYPE; begin U_DELAY : for i in 0 to num_cycles-1 generate U_REG : reg generic map (width => width) port map (clk => clk, rst => rst, ); end generate U_DELAY; end str;

6) (6 points) Map the following circuit onto 3-input, 2-output LUTs by drawing shapes around each portion of the circuit that is mapped to an individual LUT. 7) (6 points) What is the maximum number of gates that can be implemented in a 3-input, 2- output LUT? 8) (12 points) Briefly describe the components in an FPGA used for reconfigurable interconnect.

9) A. (12 points) For the following pseudo-code, create a datapath that is capable of performing all necessary behavior. Clearly show all inputs/outputs, multipliers, subtractors, comparators, registers, muxes, wires, and control signals. n = input; result = 1; while (n > 0) { result = result*n; n --; } output = result;

B. (12 points) For the datapath in the previous problem, draw an FSM capable of controlling the datapath to perform the illustrated code. In the circle for each state of the FSM, show the statements from the code that are performed in that state. C. (6 points) For each state in your FSM, list the values of the control signals that configure the datapath to perform the appropriate operations. Assume that the left input to a mux uses a select value of 1. Specify default control values to avoid having to list every control signal for each state. 10) (4 free points) Who will replace Tebow as the starting QB for the football team next year?