CSE 20221: Logic Design Using Verilog in the Xilinx ISE Logic Design: Verilog using Xilinx, 7-Segment Display.1 S. Yoder ND, 2012 Steps in using Xilinx with Verilog 1. 2. 3. 4. 5. 6. 7. Create a new project Determine inputs and outputs Add a new Verilog source and fill in Inputs/outputs Enter the description of the circuit Perform a syntax check Switch the design view to simulation Select the design file and add new Verilog test fixture source Logic Design: Verilog using Xilinx, 7-Segment Display.2 S. Yoder ND, 2012 Select New Source for Design Model new source icon Logic Design: Verilog using Xilinx, 7-Segment Display.3 Choose implementation view S. Yoder ND, 2012 New Verilog Source File Logic Design: Verilog using Xilinx, 7-Segment Display.4 S. Yoder ND, 2012 Input and Output Declarations set inputs and outputs Logic Design: Verilog using Xilinx, 7-Segment Display.5 S. Yoder ND, 2012 Enter Design Model (structure example) Logic Design: Verilog using Xilinx, 7-Segment Display.6 S. Yoder ND, 2012 Boolean Equation Behavioral Model Logic Design: Verilog using Xilinx, 7-Segment Display.7 S. Yoder ND, 2012 Select New Source for Test Fixture Choose simulation view new source icon File associated with test fixture Logic Design: Verilog using Xilinx, 7-Segment Display.8 S. Yoder ND, 2012 Test Fixture Source Wizard Logic Design: Verilog using Xilinx, 7-Segment Display.9 S. Yoder ND, 2012 Multiple Modules Logic Design: Verilog using Xilinx, 7-Segment Display.10 S. Yoder ND, 2012 Verilog Test Fixture Note hierarchy Logic Design: Verilog using Xilinx, 7-Segment Display.11 S. Yoder ND, 2012 Spartan 3E Specifications Logic Design: Verilog using Xilinx, 7-Segment Display.12 S. Yoder ND, 2012 Spartan Pricing Logic Design: Verilog using Xilinx, 7-Segment Display.13 S. Yoder ND, 2012 CSE 20221: Logic Design Using the 4-Digit 7-Segment Display on the Digilent Basys Board https://www.digilentinc.com/Data/Products/BASYS2/Basys2_rm.pdf listed under links in course web site Logic Design: Verilog using Xilinx, 7-Segment Display.14 S. Yoder ND, 2012 LEDs anode (+) cathode (-) current flow current limiting resistor Digilent Basys board Spartan 3E pin out Logic Design: Verilog using Xilinx, 7-Segment Display.15 S. Yoder ND, 2012 Current limiting resistor calculation • R > (Vcc- Vd) / Idmax • Assume: – the led voltage drop, Vd = 1.3 V – the maximum diode current, Idmax = 10 mA – the supply voltage, Vcc = 3.3 V R > 200 Ω Logic Design: Verilog using Xilinx, 7-Segment Display.16 S. Yoder ND, 2012 Seven-Segment Display • Apply low voltage to cathodes (CA-CG) to select segments (logic 0 = low voltage on Basys board) • Apply high voltage to anodes (AN1-AN4) to select digit Logic Design: Verilog using Xilinx, 7-Segment Display.17 S. Yoder ND, 2012 Seven-Segment Display Basys Pin Out • • • • Logic Design: Verilog using Xilinx, 7-Segment Display.18 transistor switches are “p-type”, assert “0” (low voltage) to turn them on assert “0” on pins F12, J12, M13, K14 to select appropriate digit assert “0” on pins L14, H12, N14, N11, P12, L13, M12, L13, M12, N13 to select appropriate segments Need to multiplex cathode data (more on that in a later lab) S. Yoder ND, 2012 The Design Process ANALYSIS • Interpret the problem statement • Identify inputs and outputs • Assign assertion voltage levels • Develop a high level representation, e.g., block diagram DESIGN • Transform the high level information into applicable design representation, e.g., truth table, Boolean equation, schematic, high-level languages Logic Design: Verilog using Xilinx, 7-Segment Display.19 S. Yoder ND, 2012 Design Process Continued TESTING • Simulate – verify and validate behavior verify – is the functionality correct validate – does functionality match customer’s intent • Download design to target device •verify and validate hardware functionality TESTING with Verilog • Simulations should be done for each module • Simulation of the entire system follows successful simulation of each module Logic Design: Verilog using Xilinx, 7-Segment Display.20 S. Yoder ND, 2012 Lab 4 Design Problem Statement • Design a circuit that will display a hex number on a 7-segment LED display. • Use Verilog to model the circuit. • The value of the hex number corresponds to its binary equivalent value represented by the position of four switches: sw3, sw2, sw1, sw0. • sw3 is msb (most significant bit) and sw0 is lsb (least significant bit) Logic Design: Verilog using Xilinx, 7-Segment Display.21 S. Yoder ND, 2012 Identify Inputs and Outputs • Inputs: sw0, sw1, sw2, sw3 • Outputs: a, b, c, d, e, f, g, anode1 Logic Design: Verilog using Xilinx, 7-Segment Display.22 S. Yoder ND, 2012 Block Diagram • A block diagram is a top-level representation of the overall system which includes: – – – – inputs / outputs major functional units interconnections between units interconections to external world (hardware interface) • Block diagrams provide a – – – – means to communicate between designers way to make a complex system more understandable way to partion functionality mechanism to conceptualize a design concept Logic Design: Verilog using Xilinx, 7-Segment Display.23 S. Yoder ND, 2012 Block Diagram SW3 0v interface SW2 SW1 5v SW0 BCD to 7-segment decoder ab c d e f g interface pull-up resistor can be subdivided into additional blocks A pull-up resistor forces the voltage at the input to equal 5 v when the switch is open. The input shouldn’t be left to “float”, which can cause erratic values. Logic Design: Verilog using Xilinx, 7-Segment Display.24 S. Yoder ND, 2012 Translate to Design Format • • • • Truth table Karnaugh map Schematic HDL Logic Design: Verilog using Xilinx, 7-Segment Display.25 S. Yoder ND, 2012 Simulation • Verification – does the circuit simulate according to its intended design? • Validation – does the circuit function according to what the customer wanted? • Make any necessary design changes to correct any invalid behavior Logic Design: Verilog using Xilinx, 7-Segment Display.26 S. Yoder ND, 2012 Prototype • Download design to prototype board • Verify correct functionality • Repeat necessary design steps to correct any problems Logic Design: Verilog using Xilinx, 7-Segment Display.27 S. Yoder ND, 2012 Design: An Iterative Process • The design process is often presented as a sequence of well organized steps • In reality, design is an iterative process: – cyclic, i.e., revisit the different steps: • analysis • design • testing: verification and validation • A product “evolves” over several design and product iterations Logic Design: Verilog using Xilinx, 7-Segment Display.28 S. Yoder ND, 2012 Homework Using the Xilinx ISE, create a Verilog model for the g segment of a seven-segment display, where the value for the segment must be set to 0 for the LED to light (active low). Your circuit must display a hex number, i.e., 0, 1 … 8, 9, A, b, c, E, and F. Submit a text file printout of your Verilog .v file and a printout of your simulation results. Logic Design: Verilog using Xilinx, 7-Segment Display.29 S. Yoder ND, 2012