Lab 4 Report Comments: Procedure Ordering in lab reportProcedure Ordering in lab report report should follow logical flow of what you did in experiment:

Slides:



Advertisements
Similar presentations
Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
Advertisements

1 Lecture 13 VHDL 3/16/09. 2 VHDL VHDL is a hardware description language. The behavior of a digital system can be described (specified) by writing a.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
Code Converters, Multiplexers and Demultiplexers
ECE 272 Xilinx Tutorial. Workshop Goals Learn how to use Xilinx to: Draw a schematic Create a symbol Generate a testbench Simulate your circuit.
Counter Circuits and VHDL State Machines
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
OTHER COMBINATIONAL LOGIC CIRCUITS
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Overview Part 1 – Design Procedure 3-1 Design Procedure
Dewan Tanvir Ahmed SITE, UofO
ECE 448: Spring 12 Lab 4 – Part 2 Finite State Machines Basys2 FPGA Board.
Counting with Sequential Logic Experiment 8. Experiment 7 Questions 1. Determine the propagation delay (in number of gates) from each input to each output.
Introduction to FPGA Design Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board. Physics 536 –
CPE 169 Digital Design Laboratory Digilent Inc. Nexys Development Board.
Introduction to Digital Design Lab Project
EENG 2910 – Digital Systems Design Fall Course Introduction Class Time: M9:30am-12:20pm Location: B239, B236 and B227 Instructor: Yomi Adamo
Experiment #3A: Introduction to Function Reduction, Function Forms, and VHDL Implementation CPE 169 Digital Design Laboratory.
Experiment 2 Questions 1. There are two methods that can be used to generate a complement function using a 2-input NAND gate. Draw a diagram detailing.
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
LAB 9 Finite State Machine (FSM) Ui Luu Glendale Community College Bassam Matar Chandler-Gilbert Community College.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
Design of Binary Arithmetic Circuits Experiment 7.
ENG241/ Lab #41 ENG2410 Digital Design LAB #4 Design of Combinational Logic “The Trip Genie”
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
Comments on Lab #4 Annotating Timing Diagrams Draw viewer’s attention to the points you are trying to show / verify –Important output states glitch or.
ENG241 Digital Design Week #4 Combinational Logic Design.
ASIC 121: Practical VHDL Digital Design for FPGAs Tutorial 1 September 27, 2006.
CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES
LAB #2 Xilinix ISE Foundation Tools Schematic Capture “A Tutorial”
Combinational Building Blocks: Encoders and Decoders Experiment 6.
ECE 448: Spring 11 Lab 3 Part 1 Sequential Logic for Synthesis.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Design of Binary Arithmetic Circuits Experiment 7.
ENG2410 Digital Design LAB #5 Modular Design and Hierarchy using VHDL.
Timing Diagrams Shows signal state (1 or 0) as a function of time Dependent variable (horizontal axis) used for time Independent variable (vertical axis)
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
displayCtrlr Specification
CascadedBCDCntr&Display Aim : Capture, simulate and implement a 2-digit, loadable BCD up/down counter, with chip enable I/P (CE) and chip enable O/P (CEO).
Reaction Timer Project
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Chapter 0 - reVieW Combinational Logic Circuit, Combinational Logic Circuit, Propagation Delay, Propagation Delay, Programmable Logic. Programmable Logic.
Digital Logic Circuits (Part 1) Computer Architecture (Fall 2006)
COE4OI5 Engineering Design Chapter 1: The 15 minutes design.
Magnitude Comparator Dr. Ahmed Telba.
CS/EE 3700 : Fundamentals of Digital System Design
1 CS 151: Digital Design Chapter 3: Combinational Logic Design 3-1Design Procedure CS 151: Digital Design.
CS151 Introduction to Digital Design Chapter 3: Combinational Logic Design 3-1 Design Procedure 1Created by: Ms.Amany AlSaleh.
11 EENG 1920 Introduction to VHDL. 22 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 4: Testing, Dataflow Modeling Spring 2009.
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
Introduction to VHDL Coding Wenchao Cao, Teaching Assistant Department of EECS University of Tennessee.
Introduction to Labs Wenchao Cao, Teaching Assistant Department of EECS University of Tennessee.
Teaching Digital Logic courses with Altera Technology
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Copyright © 2007 by Pearson Education 1 UNIT 6A COMBINATIONAL CIRCUIT DESIGN WITH VHDL by Gregory L. Moss Click hyperlink below to select: Tutorial for.
Instructor: Oluwayomi Adamo Digital Systems Design.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
LAB #5 Modular Design and Hierarchy using VHDL
EGR 2131 Unit 4 Combinational Circuits: Analysis & Design
Introduction to Vivado
LAB #4 Xilinix ISE Foundation Tools VHDL Design Entry “A Tutorial”
ENG2410 Digital Design “Combinational Logic Design”
Combinatorial Logic Design Practices
Figure 5. 1 An example of AND-OR logic
Data Flow Modeling of Combinational Logic
LAB #2 Xilinix ISE Foundation Tools Schematic Capture “A Tutorial”
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

Lab 4 Report Comments: Procedure Ordering in lab reportProcedure Ordering in lab report report should follow logical flow of what you did in experiment: 1) procedure, 2) results/data, 3) observations… 1) procedure, 2) results/data, observations… etc.report should follow logical flow of what you did in experiment: 1) procedure, 2) results/data, 3) observations… 1) procedure, 2) results/data, observations… etc. Don’t use command style of writing in lab reportsDon’t use command style of writing in lab reports Use engineering notation: MHz, kHz, ms, μs, ns (order of magnitudes of 3)Use engineering notation: MHz, kHz, ms, μs, ns (order of magnitudes of 3) Use some horse sense: stand back and verify your results make sense!Use some horse sense: stand back and verify your results make sense!

Lab 4 Comments: The Main Points:The Main Points: –Simulation: allowed you to test a circuit before you actually built the circuitallowed you to test a circuit before you actually built the circuit Simulator was based on device modelsSimulator was based on device models Device models were used to simulate propagation delays in actual devicesDevice models were used to simulate propagation delays in actual devices Static logic hazards were located, tested (they caused glitches), and removed.Static logic hazards were located, tested (they caused glitches), and removed.

Lab 5 Comments: The Main Points:The Main Points: –The logic analyzer is a test device that is used to view the signal activity of an actual circuit as opposed to the simulated circuit of Lab 4as opposed to the simulated circuit of Lab 4 –The Xilinx Design Methodology was the steps you took to: 1.model a circuit 2.simulate the model (verify how it will behave) 3.implement a circuit (on the FPGA) with the same output characteristics as the model –Implementing circuits on the FPGA was much easier than wiring the circuit using discrete logic gates (previous experiments).

Questions?? Is there such a thing as a 3-input AND gate in an IC?? Do inverters come in IC’s?? How many per package??? Does anyone make a Quad 4-input NAND gate?

Combinational Building Blocks: Encoders and Decoders Experiment 6

Instructional Objectives: To learn concurrent statements in VHDL.To learn concurrent statements in VHDL. To design combinational building blocks in VHDL and to implement them on the Spartan 3 (Nexys) or Spartan 3E (Nexys 2) FPGA.To design combinational building blocks in VHDL and to implement them on the Spartan 3 (Nexys) or Spartan 3E (Nexys 2) FPGA.

VHDL Basics ENTITY – black box description of circuit –declares inputs and outputs, their type, and their size ARCHITECTURE – what’s inside the box –Specifies the implementation of your circuit

VHDL Entity ENTITY modulename IS PORT (input1 : IN STD_LOGIC; input2 : IN STD_LOGIC; output1 : OUT STD_LOGIC_VECTOR(0 TO 7); output2 : OUT STD_LOGIC); END modulename;

VHDL Architecture ARCHITECTURE myarch OF modulename IS internal signal declarations; BEGIN concurrent statement1; concurrent statement2; concurrent statement3; END myarch;

Concurrent Statements: Signal Assignment (<=) ARCHITECTURE my_arch OF module_name IS SIGNAL internal_sig : STD_LOGIC; BEGIN -- a comment begins with two hyphens internal_sig <= input1 AND input2; output1 <= “ ”; output2 <= internal_sig XOR output1(3); END my_arch;

Concurrent Statements: Conditional Signal Assigment ARCHITECTURE myarch OF modulename IS BEGIN output2 <= b WHEN (sel = “01”) ELSE c WHEN (sel = “10”) ELSE d WHEN (sel = “11”) ELSE a; -- default END myarch;

Concurrent Statements: Selected Signal Assignment ARCHITECTURE myarch OF modulename IS BEGIN WITH sel SELECT output2 <=b WHEN “01”, c WHEN “10”, d WHEN “11”, a WHEN OTHERS; END myarch;

Xilinx CoolRunner CPLD 64 macrocells XCRPlus Development Board

7-Segment LED Displays XCRPlus Development Board Active high Common cathode connected to GND via a transistor a b c d e f g cat1

Experiment 6 Overview P1:Design and implement a Binary-Coded-Decimal (BCD) to 7-segment Display Decoder P2: Design and implement an 8:3 Priority Encoder P3:Integrate the circuit from the two previous steps and use the BCD-7seg Decoder to display your output

7-Segment Display Control 1 = V cc 1 COMMON-CATHODE Display CAT1 1-Turn on display 1 0-Turn off display 1 1 = V cc CAT1 AA AB AC AD AE AF AG CAT1 XCRP Board AA 1 cathode

7-Segment Display Control-XCRP The individual LED segments on the 2 displays ARE TIED TOGETHER! So you must use CAT1 and CAT2 to turn ON 1 display and turn OFF the other (or else BOTH will light up with the same pattern. 2 Displays …but only 1 set of segment controls!

Nexys Development Board a b c d e f g Four 7-segment LED Displays See Reference Manual (ignore multiplexing)

7-Segment Display Control 1 = V cc 1 0 = Gnd 0 COMMON-CATHODE Display COMMON-ANODE Display (Works like you expect: 1 = ON) Nexys Board: (0 = ON!) So the 7 segment cathode signals (CA..CG) on Nexys Bd are active low

CE CF CD CA CG CB CC DP AN0 AN1 AN2 CE CF CD CA CG CB CC DP CA (from FPGA) The individual display segment cathode signals from FPGA (CA..CG and DP) connect to ALL 4 displays at the same time (!!) You must use the common anode signals (AN0..AN3) to turn ON the 1 display you want to use, and turn OFF the rest. Nexys Development Board CB

Nexys Development Board Need 1 or 0 (?) from FPGA to Turn ON a Display?? Common anodes (AN0..AN3) connected to Vcc via a transistor Controlled by FPGA outpus V

Lab Report Comments: VHDL CODE: Use the title banner in all your source code filesUse the title banner in all your source code files

-- Company: Cal Poly SLO -- Engineer: Stu Dent & Labpa R. Tner Create Date: Design Name: BCD-to-7 Segment Decoder -- Component Name: -- Target Device: Digilent Nexys Development Board -- Tool versions: ISE Description: CPE 169 Experiment #6 – Procedure #1 -- This device converts a single-digit (0-9) 4-bit BCD code to the control -- signals to display the digit on 1 of 4 available 7-seg. displays -- Dependencies: -- Revision: : added a few comments (like the instructor said we should!) Additional Comments: Example VHDL Code Header

Lab Report Comments: VHDL CODE: Use the title banner in all your VHDL filesUse the title banner in all your VHDL files Put some comments into your VHDL codePut some comments into your VHDL code Use indents, spacing, skipped lines to make structure obvious and code readable.Use indents, spacing, skipped lines to make structure obvious and code readable. Don’t allow your VHDL code to wrap around between linesDon’t allow your VHDL code to wrap around between lines –examine your outputs before you submit them! Print your VHDL code from Xilinx environment and include with your reportPrint your VHDL code from Xilinx environment and include with your report –don’t put code into the body of the report

Lab Report Comments: Circuit Diagrams: –Titled with a descriptive name for the circuit –Brief verbal description of the circuit's function / purpose (what does it do?) –Circuit schematic and/or block diagram Include all input/output signalsInclude all input/output signals –When circuits are implemented in VHDL, signal names on schematics should match signal names used in your VHDL code Show all input/output signal sources / destinations on the Development Board (switches, LEDs, etc.)Show all input/output signal sources / destinations on the Development Board (switches, LEDs, etc.)

Lab Report Comments: Timing Diagrams / ModelSim: Title and annotate all timing diagramsTitle and annotate all timing diagrams –and all diagrams for that matter! Show and explain your “Test Vectors”Show and explain your “Test Vectors” –Make clear how you verified proper operation –If not clear, annotate your test input values and results (1’s and 0’s, BCD code,…whatever appropriate format for the signals/vectors.) –Annotate expected outputs where actual outputs displayed Print timing simulations from ModelSim and include with your reportPrint timing simulations from ModelSim and include with your report –Annotated!

Test Vectors & Simulation Objective: Verify that each device functions as specified –Thoroughly Verify ALL important functions / behaviors demonstratedALL important functions / behaviors demonstrated ALL output signals operate properlyALL output signals operate properly Common errors / problems shown NOT to occurCommon errors / problems shown NOT to occur –Efficiently Verify Test all possible cases (truth table) only if number of inputs reasonableTest all possible cases (truth table) only if number of inputs reasonable Else, devise more clever subset of test conditions that are “thorough enough”Else, devise more clever subset of test conditions that are “thorough enough”

Xilinx Notes Try placing your Xilinx Projects on the remote “H:” drive while you work in lab –Storage on H: drive assigned to your CPE 169 login account –Choose this location when you create your new ISE Project –Default Xilinx directory will be used if you don’t redirect your project file storage when you create the project Goes to C:\Xilinx\... by default

Xilinx Notes Try placing your Xilinx Projects on the lab computer “C:” drive while you work in lab –Choose this location when you create your new ISE Project –Default Xilinx directory will be used if you don’t redirect your project file storage when you create the project Goes to C:\Xilinx\... by default Set up your own subdirectory on C: drive C:/Stu_Mary

Xilinx Notes Try placing your Xilinx Projects on the lab computer “C:” drive while you work in lab –DO NOT put ISE Projects in folders / directories that have any blank spaces in their names!! Xilinx ISE will have trouble finding the files …and you will get totally FRUSTRATED !!! –Avoid using the “Desktop” Pathname has spaces C:\Documents and Settings\...\Desktop If they’re on C: drive, your files may not be available to you later! –You will need to reuse them for future labs!!! –COPY whole project to your own FlashDrive before leaving

DIGITAL ALARM SYSTEM (Experiment #9) TODAY! Next Week Exp 9

1) VHDL source code is used to generate a description of your circuit design. 2) The VHDL source code generated in step 1) is translated into a form which can be used by other software used in the design flow. 3) The Test Bench Waveform software is used to generate signals which are used to verify proper circuit operation in the ModelSim XE simulator. 4) The circuit inputs and outputs are internally “mapped” to FPGA pins which are externally hardwired to input and output devices on the Nexys board. 5) The circuit design is downloaded into the FPGA. 6) Proper operation of the circuit is verified. Xilinx Design Methodology Download to FPGA (ExPort) 1) BE SURE TO PERFORM ALL STEPS IN THE PROPER ORDER TO AVOID PROBLEMS USING THE XILINX TOOLS 2) REFER TO THE DETAILED PROCEDURES IN LAST WEEK’S LAB (Experiment #5) AND THIS WEEK’S LAB (Experiment #6) 3) IF (When!!) YOU ENCOUNTER A PROBLEM, REFER TO #2 ABOVE! - Make sure that you have followed the proper procedures in the proper order before asking (and waiting!) for help.

IN CASE YOU DO NOT FINISH The Xilinx and Digilent Tools are all available on-line for FREE Procedure for Downloading them is posted on the CPE-169 Website