FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.
-
Upload
britton-preston -
Category
Documents
-
view
227 -
download
0
Transcript of FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.
![Page 1: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/1.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Topics
The logic design process.
![Page 2: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/2.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Combinational logic networks
Functionality. Other
requirements:– Size.– Power.– Performance.
Combinationallogic
Primaryinputs
Primaryoutputs
![Page 3: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/3.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Non-functional requirements
Performance:– Clock speed is generally a primary requirement.
Size:– Determines manufacturing cost.
Power/energy:– Energy related to battery life, power related to heat.
– Many digital systems are power- or energy-limited.
![Page 4: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/4.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Mapping into an FPGA
Must choose the FPGA:– Capacity.– Pinout/package type.– Maximum speed.
![Page 5: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/5.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Hardware description languages
Structural description:– A connection of components.
Functional description:– A set of Boolean formulas, state
transitions, etc. Simulation description:
– A program designed for simulation.
Major languages:– Verilog.– VHDL.
A
NAND
x
![Page 6: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/6.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Logic optimization
Must transform Boolean expressions into a form that can be implemented.– Use available primitives (gates).
– Meet delay, size, energy/power requirements.
Logic gates implement expressions.– Must rewrite logic to use the expressions provided by
the logic gates.
Maintain functionality while meeting non-functional requirements.
![Page 7: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/7.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Macros
Larger modules designed to fit into a particular FPGA.– Hard macro includes placement.– Soft macro does not include placement.
![Page 8: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/8.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Physical design
Placement:– Place logic components into FPGA fabric.
Routing:– Choose connection paths through the fabric.
Configuration generation:– Generate bits required to configure FPGA.
![Page 9: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/9.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Example: parity
Simple parity function:– P = a0 XOR a1 XOR a2 XOR a3.
Implement with Xilinx ISE.
![Page 10: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/10.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Xilinx ISE main screen
Sources in project
Processes for source
Source window
Output
![Page 11: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/11.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
New project
![Page 12: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/12.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
New project info
![Page 13: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/13.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Create HDL file
![Page 14: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/14.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
I/O description
![Page 15: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/15.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
I/O info
![Page 16: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/16.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Empty Verilog description
module parity(a,p);
input [31:0] a;
output p;
endmodule
![Page 17: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/17.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Verilog with functional code
module parity(a,p);
input [31:0] a;
output p;
assign p = ^a;
endmodule
![Page 18: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/18.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
RTL schematic: top-level
![Page 19: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/19.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
RTL model: implementation
![Page 20: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/20.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Example: simulation
Apply stimulus/test vectors. Look at response/output vectors. Can’t exhaustively simulate but we can
exercise the module. Simulation before synthesis is faster and
easier than simulating the mapped design.– Sometimes want to simulate the mapped
design.
![Page 21: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/21.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Testbench
testbench
UnitUnderTest
(UUT)
Stimulus
Response
![Page 22: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/22.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Automatically-created testbench
module parity_testbench_v_tf();// DATE: 11:48:13 11/07/2003 // MODULE: parity// DESIGN: parity// FILENAME: testbench.v// PROJECT: parity// VERSION: // Inputs reg [31:0] a;// Outputs wire p;// Bidirs// Instantiate the UUT parity uut ( .a(a), .p(p) );// Initialize Inputs ‘ifdef auto_init initial begin a = 0; end ‘endifendmodule
![Page 23: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/23.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Test vector application code
initial begin $monitor("a = %b, parity=%b\n",a,p); #10 a = 0; #10 a = 1; #10 a = 2’b10; #10 a = 2’b11; #10 a = 3’b100; #10 a = 3’b101; #10 a = 3’b110; #10 a = 3’b111; … #10 a = 1024; #10 a = 1025; #10 a = 16’b1010101010101010; #10 a = 17’b11010101010101010; #10 a = 17’b10010101010101010; #10 a = 32’b10101010101010101010101010101010; #10 a = 32’b11101010101010101010101010101010; #10 a = 32’b10101010101010101010101010101011; $finish;end
![Page 24: FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n The logic design process.](https://reader035.fdocuments.us/reader035/viewer/2022081501/5697c01a1a28abf838ccf367/html5/thumbnails/24.jpg)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR
Project summary