design and verilog module creating a design and
play

Design and Verilog Module Creating a design and implementing in FPGA - PowerPoint PPT Presentation

Design and Verilog Module Creating a design and implementing in FPGA Design Verilog (mainly) Schematic(sometimes) Verify Need writing a testbench Simulation using ISIM Creating a design and implementing in FPGA Add User


  1. Design and Verilog Module

  2. Creating a design and implementing in FPGA • Design • Verilog (mainly) • Schematic(sometimes) • Verify • Need writing a testbench • Simulation using ISIM

  3. Creating a design and implementing in FPGA • Add User constraints File (xdc) • Define the pin locations of FPGA • Ex: Clk, reset, LED, switches, VGA pins • Later: Add timing constraints • Put pin locations • Generate programming files

  4. Note • When copying the verilog from the website, some extra spaces between the variables will appear. You will need to delete them when you see the errors

  5. Design Metrics • These are the key design metrics that must be met when designing any device • Function • Performance • Area • Energy • Design time • These metrics have become more critical

  6. Design Metrics • In less than 20 years, the size of cellphones have reduced. However a lot more applications and features such as video web application, phone application in addition to the voice • The key challenge is design these components in order to meet the real time performance and area footprint within a limited power budget

  7. Logic Design • Basic digital components for logical design: • Combinational Logic • Output value is determined by combining input values at that time • Ex: • AND • OR • Inverter • Multiplexer

  8. Logic Design • Sequential Logic • The output value depends on current and previous values and/or time sequence • Ex: Flip flop, state machines it can remember a single bit of information which can change based on the time

  9. Board Description • The main FPGA on board • Artix-7 100T • 4,860 Kbit Block RAM • 15,850 logic cells (each with 6 input LUTs and 8 Flipflops) • 240 DSP slices • Max clk 450 MHz • Board features • 16 user switches • 16 user LEDs • Two 4-digit 7-segment displays • USB-UART Bridge • Two tri-color LEDs • Micro SD card connector

  10. Board Description-Contd. • 12-bit VGA output • PWM audio output PDM microphone • 3-axis accelerometer • Temperature sensor • 10/100 Ethernet PHY • 128MiB DDR2 • Serial Flash Four Pmod ports • Digilent USB-JTAG port for FPGA programming and communication • USB HID Host for mice, keyboards and memory sticks

  11. Verilog Module • Verilog model consists of • Module definition describing the inputs and outputs of the circuit and the implementation of the circuit • Ports declaration: • Input or output • Size

  12. Verilog Module-Contd. • Net declaration • Wire: assignment statements • Reg: always blocks • Size (number of bits) • Behavioral description • Assignment statements • Always statements

  13. Example 1 c 4 + sum 5 d 4 Assign sum=

  14. Example 2 module top(in1,in2,d,sum, clk); nput [2:0] in1,in2; top Input [3:0] d; Input clk; + + Output [4:0] sum; c sum + reg [3:0] a; 5 wire[3:0] c; assign c = {in1[2],in1} +{in2[2],in2}; a d assign sum ={c[3],c} +{a[3],a}; //If we were extending for 2 bits //assign sum ={c[3],c[3],c} +{a[3],a[3],a}; clk //assign sum={2{c[3]}} ,c }+ {2{a[3]}} ,a}; ` always@(posedge clk) a<=d; endmodule

  15. Example 2 module top(in1,in2,d,sum, clk); top Input signed [2:0] in1,in2; Input signed [3:0] d; + + Input clk; c Output signed [4:0] sum; sum + 5 reg signed [3:0] a; wire signed[3:0] c; a d assign c = in1 + in2; assign sum = c + a; always@(posedge clk) clk a <= d; ` endmodule

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend