Professional Documents
Culture Documents
(T03) - Placa FPGA y Vivado Design Suite
(T03) - Placa FPGA y Vivado Design Suite
Pablo Ituero
RTL Hardware Design by P.
Chu
1
Slides Credit
• Introducción a Vivado: Transparencias del
Prof. Alexander Sudnitson de la Tallinn
University of Technology del curso IAY0600
Digital Systems Design (LECTURES)
• Placa Nexys 4 DDR: Manual de referencia de
Digilent.
https://reference.digilentinc.com/reference/prog
rammable-logic/nexys-4-ddr/reference-manual
• Artix 7 FPGA: Manual de referencia y
transparencias de Xilinx.
2
Introduction to Vivado
Design Suite
Vivado Design Suite
• Vivado is the new tool that only supports 7 series FPGA, UltraScale
and all more recent families.
• Completely re-developed from scratch
• The algorithms for Vivado are implemented with having the ever-growing
size of FPGAs in mind
• New deterministic Place and Route Algorithm
• All steps have the same view on a global data structure
• Vivado HLS: High-level sysnthesis tool
• Xilinx Design Constraints
• All tools in Vivado except SDK and Vivado HLS are integrated part of
the GUI
New integrated GUI
ISE
## Clock signal
#set_property -dict { PACKAGE_PIN E3 IOSTANDARD LVCMOS33 } [get_ports { CLK100MHZ }]; #IO_L12P_T1_MRCC_35 Sch=clk100mhz
#create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK100MHZ}];
##Switches
#set_property -dict { PACKAGE_PIN J15 IOSTANDARD LVCMOS33 } [get_ports { SW[0] }]; #IO_L24N_T3_RS0_15 Sch=sw[0]
#set_property -dict { PACKAGE_PIN L16 IOSTANDARD LVCMOS33 } [get_ports { SW[1] }]; #IO_L3N_T0_DQS_EMCCLK_14 Sch=sw[1]
#set_property -dict { PACKAGE_PIN M13 IOSTANDARD LVCMOS33 } [get_ports { SW[2] }]; #IO_L6N_T0_D08_VREF_14 Sch=sw[2]
#set_property -dict { PACKAGE_PIN R15 IOSTANDARD LVCMOS33 } [get_ports { SW[3] }]; #IO_L13N_T2_MRCC_14 Sch=sw[3]
#set_property -dict { PACKAGE_PIN R17 IOSTANDARD LVCMOS33 } [get_ports { SW[4] }]; #IO_L12N_T1_MRCC_14 Sch=sw[4]
#set_property -dict { PACKAGE_PIN T18 IOSTANDARD LVCMOS33 } [get_ports { SW[5] }]; #IO_L7N_T1_D10_14 Sch=sw[5]
#set_property -dict { PACKAGE_PIN U18 IOSTANDARD LVCMOS33 } [get_ports { SW[6] }]; #IO_L17N_T2_A13_D29_14 Sch=sw[6]
Design elaboration: I/O Planning
Design elaboration
Synthesis and the synthesized design
Implementation and the implemented design
Reports
Generating bitstream
Hardware manager: open target
Hardware manager: open target
Hardware manager: program device
Questions?
Nexys 4 DDR
Nexys 4 DDR
Nexys 4 DDR
• https://reference.digilentinc.com/reference/programmable-
logic/nexys-4-ddr/reference-manual
7 Series FPGA Overview
Part 1
7 Series FPGA Families
I/O Voltages
SLICE
▪ Two side-by-side slices per CLB
– Slice_M are memory-capable
LUT
LUT
CLB
–
7 Series FPGA Overview - 35 © Copyright 2011 Xilinx
CLB Overview
CLB resources are inferred for generic design logic and do not require
instantiation. Good HDL design is sufficient. A few items to note:
• CLB flip-flops have either a set or a reset. The designer must not use both set
and reset.
• Flip-flops are abundant. Pipelining should be considered to improve performance.
• Control inputs are shared across a slice or CLB. The number of unique control
inputs required for a design should be minimized. Control inputs include clock,
clock enable, set/reset, and write enable.
• A 6-input LUT can be used as a 32-bit shift register for efficient implementation.
• A 6-input LUT can be used as a 64 x 1 memory for small storage requirements.
• Dedicated carry logic implements arithmetic functions effectively.
LUT/RAM/SRL
01
A5
A4 D O5
A3
5-LUT
A2
A1
input
▪ MUX output can drive out combinatorially
or to the flip-flop/latch LUT/RAM/SRL
01
01