Lab 3 & 4 Discussion EE414/514 VHDL Design September 25.

Slides:



Advertisements
Similar presentations
History TTL-logic PAL (Programmable Array Logic)
Advertisements

Arbitrary Waveform Discussion 5.5 Example 34.
1 VLSI DESIGN USING VHDL Part II A workshop by Dr. Junaid Ahmed Zubairi.
Ring Counter Discussion D5.3 Example 32. Ring Counter if rising_edge(CLK) then for i in 0 to 2 loop s(i)
Logic Design Fundamentals - 3 Discussion D3.2. Logic Design Fundamentals - 3 Basic Gates Basic Combinational Circuits Basic Sequential Circuits.
Integer Square Root.
6/12/20151 Sequence Detectors Lecture Notes – Lab 4 Sequence detection is the act of recognizing a predefined series of inputs A sequence detector is a.
FPGAs and VHDL Lecture L12.1. FPGAs and VHDL Field Programmable Gate Arrays (FPGAs) VHDL –2 x 1 MUX –4 x 1 MUX –An Adder –Binary-to-BCD Converter –A Register.
Structural VHDL VHDL Tutorial R. E. Haskell and D. M. Hanna T3: ALU Design.
Counters Discussion D5.3 Example 33. Counters 3-Bit, Divide-by-8 Counter 3-Bit Behavioral Counter in Verilog Modulo-5 Counter An N-Bit Counter.
Introduction to VHDL Multiplexers. Introduction to VHDL VHDL is an acronym for VHSIC (Very High Speed Integrated Circuit) Hardware Description Language.
Lab 2 4-Bit Adder Digilent Spartan 3 Board Lecture L2.3.
FPGAs and VHDL Lecture L13.1 Sections 13.1 – 13.3.
Digilab 7-Segment Displays Lab 4. selyInstruction name “000”true if b = a false otherwise = “001”true if b /= a false otherwise “010”true if b < a.
7-Segment Displays Digilent Spartan 3 Board Discussion DS-4.2.
CSE140L – Lab4 Overall picture of Lab4 Tutorial on Bus & Memory Tutorial on Truth table.
Programming Example Lecture 8.6 A VHDL Forth Core for FPGAs: Sect. 7.
7-Segment Displays VHDL Tutorial R. E. Haskell and D. M. Hanna T4: Xilinx LogiBLOX.
LCD Display DIO2 Board CPLD. DIO2 Board CPLD Interface LCD Display.
ECE 448: Spring 12 Lab 4 – Part 2 Finite State Machines Basys2 FPGA Board.
Capacitance Sensor Project
1 Keyboard Controller Design By Tamas Kasza Digital System Design 2 (ECE 5572) Summer 2003 Presentation for.
4-bit Shift Register. 2-bit Register Serial-in-serial-out Shift Register.
1 H ardware D escription L anguages Basic Language Concepts.
1 Part V: VHDL CODING. 2 Design StructureData TypesOperators and AttributesConcurrent DesignSequential DesignSignals and VariablesState Machines A VHDL.
1 Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
1 Keyboard Controller Design By Tamas Kasza Digital System Design 2 (ECE 5572) Summer 2003 A Project Proposal for.
Design Verification VHDL ET062G & ET063G Lecture 5 Najeem Lawal 2012.
Figure 5.1 Conversion from decimal to binary. Table 5.1 Numbers in different systems.
VHDL Introduction. V- VHSIC Very High Speed Integrated Circuit H- Hardware D- Description L- Language.
ECE 448: Spring 11 Lab 3 Part 1 Sequential Logic for Synthesis.
EE3A1 Computer Hardware and Digital Design Lecture 5 Testbenches and Memories in VHDL.
ENG2410 Digital Design LAB #5 Modular Design and Hierarchy using VHDL.
Copyright(c) 1996 W. B. Ligon III1 Getting Started with VHDL VHDL code is composed of a number of entities Entities describe the interface of the component.
Reaction Timer Project
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Introduction to FPGA Tools
Hardware languages "Programming"-language for modelling of (digital) hardware 1 Two main languages: VHDL (Very High Speed Integrated Circuit Hardware Description.
15-Dec-15EE5141 Chapter 4 Sequential Statements ä Variable assignment statement ä Signal assignment statement ä If statement ä Case statement ä Loop statement.
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
1 Part III: VHDL CODING. 2 Design StructureData TypesOperators and AttributesConcurrent DesignSequential DesignSignals and VariablesState Machines A VHDL.
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
CEC 220 Digital Circuit Design VHDL in Sequential Logic Wednesday, March 25 CEC 220 Digital Circuit Design Slide 1 of 13.
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
ECE 3450 M. A. Jupina, VU, 2016 Capacitance Sensor Project Goal: Creation of a digital capacitance sensor circuit where a variation in capacitance changes.
Lecture 11 Xilinx FPGA Memories Part 2
EGRE 6311 LHO 04 - Subprograms, Packages, and Libraries EGRE 631 1/26/09.
Registers and Counters Discussion D8.1. Logic Design Fundamentals - 3 Registers Counters Shift Registers.
An Introduction to V.H.D.L.. Need of a Compiler… main( ) { int x=10,y=20,z; z = x + y ; printf ( “ %d “, z ); getch( ) ; } What’s That ? Give me only.
LAB #5 Modular Design and Hierarchy using VHDL
Combinational logic circuit
Basic Language Concepts
Registers and Counters
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
Part IV: VHDL CODING.
ECE 4110–5110 Digital System Design
ENG6530 Reconfigurable Computing Systems
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
Software Environment ISE 5.x Interaction with simple LCDs
VHDL (VHSIC Hardware Description Language)
VHDL Structural Architecture
Fibonacci Sequence Lecture L4.1 Lab 3.
Founded in Silicon Valley in 1984
Figure 8.1. The general form of a sequential circuit.
DIO2 Board Projects.
Modeling of Circuits with Regular Structure
Sequntial-Circuit Building Blocks
디 지 털 시 스 템 설 계 UP2 Kit를 이용한 카운터 설계
Digital Logic with VHDL
Presentation transcript:

Lab 3 & 4 Discussion EE414/514 VHDL Design September 25

Lab 3 Hint - Package and Library Library IEEE; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; USE IEEE.Std_LOGIC_1164.all; entity adder is port ( a_in : in std_logic_vector (3 downto 0); b_in : in std_logic_vector (3 downto 0); c_out : out std_logic_vector (3 downto 0)); end adder; architecture adder_arch of adder is begin process (a_in, b_in) variable carry : std_logic_vector (4 downto 0); variable sum :std_logic_vector (3 downto 0); begin carry (0) := '0'; for i in 0 to 3 loop sum (i) := a_in(i) xor b_in(i) xor carry(i); carry (i+1) := (a_in(i) and b_in(i)) or (b_in(i) and carry (i)) or (carry (i) and a_in(i)); end loop; c_out <= sum; end process; end adder_arch; What these two means?

Lab 3 Package and Library Go to library IEEE, You will find: PACKAGE std_logic_1164 IS … FUNCTION "and" ( l : std_ulogic; r : std_ulogic ) RETURN UX01; … END std_logic_1164;

Include User’s Design Lib In Lab 3 -Make your library visible to design Put two design in the same workspace – First design a single byte counter – At the same workspace, design a two-byte counter Library – First create a library with your design-single byte counter – Attach your library to two-byte counter

Include User’s Design Lib In Lab 3 -- Package

Include User’s Design Lib In Lab 3 -- Use Package

Connection of Prototype Boards in Lab 4 JTAG 7-S LED LED XC95108 JTAG CLOCK Reset XC2S200 -PQ208 LCD Keypad Switch Expansion Board Dio2 System Board Digilab2 CONNECTORCONNECTOR

Features of Prototype Board - System Board Digilab 2 Spartan2 XC2S200-PQ208 – Select correct devices in Xilinx ISE – Pin location 50 MHZ CLOCK – Speed of your design – Source of the clock divider Configuration mode: JTAG – Select JTAG clock as startup clock Expansion Connector

Block Diagram of Prototype Board - System Board Digilab 2

Function Implemented On System Board - Timer Timer and Clock Divider Module process (CLK, MR) begin if MR = '0' then L1: for count_value in 18 downto 0 loop QOUT(count_value) <= '0'; end loop L1; else if (CLK'event and CLK='1') then QOUT <= QOUT + 1; end if; end process; SWCLK <= QOUT(18); -- using appropriate taps off the counter as divided SMCLK <= QOUT(12); -- clock outputs How to Calculate the factor of Divider ?

Function Implemented On System Board - Example of State Machine State Machine, State Reset, Start_T, … are defined COMB_PROC: process (CLK, MR) -- This is the combinational part begin if (MR = '0') then NS <= RESET; elsif (CLK'event and CLK = '1') then case NS is -- case # appears in () to aid in coding when RESET => -- (1) if S = '0' then NS <= START_T; -- go to this state when the S button is pressed; else NS <= RESET; -- otherwise stay in this same state. end if; when START_T => -- (2)transitional states have the outputs of the corresponding stable state. if S = '1' then NS <= START; else NS <= START_T; end if;

Features of Prototype Board - Expansion Board Dio2 XC95108 CPLD Display Units – 16*2 character LCD – 4 seven-segment LED display – 16 LED of various colors Input Devices – 15-button keypad – 8 slide switches

Block Diagram of Prototype Board - Expansion Board Dio2 Bus for exchange data between Dio2 and Digilab2 boards

How to Access The Interface Units - LCD Signals – D7-D0 Data Bus – LCD_R/W – LCD_RS – LCD_E

How to Access The Interface Units - LCD Code constant LCD_CMDS : LCD_CMDS_T := ( 0 => "00"&X"01", -- Clear The Display 1 => "00"&X"38", -- Set interface data width,2 line,5*8 dots 2 => "00"&X"0c", -- Set display on, cursor off and blink off 3 => "00"&X"02", -- Return Cursor to Home 4 => "10"&X"4f", -- write the display data “Ohio …” 5 => "10"&X"68", 6 => "10"&X"69", 7 => "10"&X"6f",

How to Access The Interface Units -Keypad, Switches, LED, 7-S LED Display All these devices are mapped to corresponding address Read the data from certain address to obtain the status of the input devices, such as keypad and switches Write the data to certain address to turn on/off LED and modify the display data on 7-S LED display

How to Access The Interface Units -Keypad, Switches, LED, 7-S LED Display Code signal btns : std_logic_vector(14 downto 0); push buttons are mapped to bits of the vector signal firstTwoNum,LastTwoNum: std_logic_vector(7 downto 0); -- There are four 7-s LED display units, the first two are mapped to vectorFirstTwoNum -- Another two are mapped to vector LastTwoNum RSTIN=>btns(10), -- Reset input is mapped to “A” button RUNIN=>not btns(11), -- Run input is mapped to “A” button Q3 => FirstTwoNum(3 downto 0), -- Q3 is displayed on 7-S LED Q2 => FirstTwoNum(7 downto 4), -- Q2 is displayed on 7-S LED Q1 => LastTwoNum(3 downto 0), -- Q1 is displayed on 7-S LED Q0 => LastTwoNum(7 downto 4), -- Q0 is displayed on 7-S LED