Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Lecture 1/3
CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May 9 June 2007 Javier Serrano, CERN AB-CO-HT
Outline
z Historical introduction. z Basics of digital design. z FPGA structure. z Traditional (HDL) design flow. z Demo.
Outline
z Historical introduction. z Basics of digital design. z FPGA structure. z Traditional (HDL) design flow. z Demo.
Historical Introduction
z In the beginning, digital design was done with the 74 series of chips. z Some people would design their own chips based on Gate Arrays, which were nothing else than an array of NAND gates:
Historical Introduction
z The first programmable chips were PLAs (Programmable Logic Arrays): two level structures of AND and OR gates with user programmable connections. z Programmable Array Logic devices were an improvement in structure and cost over PLAs. Today such devices are generically called Programmable Logic Devices (PLDs).
Historical introduction
z A complex PLD (CPLD) is nothing else than a collection of multiple PLDs and an interconnection structure. z Compared to a CPLD, a Field Programmable Gate Array (FPGA) contains a much larger number of smaller individual blocks + large interconnection structure that dominates the entire chip.
Outline
z Historical introduction. z Basics of digital design. z FPGA structure. z Traditional (HDL) design flow. z Demo.
Dont do this!
Toggle flip-flops get triggered by glitches produced by different path lengths of counter bits.
D[31:0]
Q[31:0]
[31:0]
D[0]
Q[0]
[31:0] [31:0]
dataBC[31:0]
DataSelect
dataSelectC
0 1
[31:0]
[31:0]
D[31:0]
Q[31:0]
[31:0] [31:0]
DataOut[31:0]
DataOut_3[31:0]
[31:0] [31:0]
DataOut[31:0]
+
sum[31:0]
[31:0]
DataInA[31:0]
[31:0] [31:0]
D[31:0]
Q[31:0]
[31:0]
dataAC[31:0]
6.90 ns
Q[0] D[0] Q[0]
DataSelect
D[0]
dataSelectC
dataSelectCD1
Clk DataInB[31:0]
D[31:0]
Q[31:0]
0 1
[31:0]
D[31:0]
Q[31:0]
[31:0]
[31:0]
dataBC[31:0]
dataACd1[31:0]
D[31:0]
Q[31:0]
[31:0] [31:0]
DataOut[31:0]
DataOut_3[31:0]
DataOut[31:0]
[31:0]
DataInA[31:0]
[31:0] [31:0]
D[31:0]
Q[31:0]
[31:0] [31:0]
+
sum_1[31:0]
[31:0] [31:0]
D[31:0]
Q[31:0]
[31:0]
dataAC[31:0]
sum[31:0]
6.60 ns
Outline
z Historical introduction. z Basics of digital design. z FPGA structure. z Traditional (HDL) design flow. z Demo.
Overview
Routing resources
Embedded processors
Serial signaling
z Avoids clock/data skew by using embedded clock. z Reduces EMI and power consumption. z Simplifies PCB routing.
Clock management
Outline
z Historical introduction. z Basics of digital design. z FPGA structure. z Traditional (HDL) design flow. z Demo.
Synthesis
Functional Simulation
Implementation
Timing Simulation
Download
In-Circuit Verification
Synthesis
Functional Simulation
Implementation
Timing Simulation
Download
In-Circuit Verification
Synthesis
Functional Simulation
Implementation
Timing Simulation
Download
In-Circuit Verification
Translate, place and route, and generate a bitstream to download in the FPGA
VHDL 101
Outline
z Historical introduction. z Basics of digital design. z FPGA structure. z Traditional (HDL) design flow. z Demo.
Demo
z Now, lets see how you go from design idea to hardware, using the traditional flow. z Many thanks to Jeff Weintraub (Xilinx University Program), Bob Stewart (University of Strathclyde) and Silica for some of the slides.