FPGš”øSIC
2.13K subscribers
86 photos
12 files
89 links
FPG/A/SIC tips and tricks

#FPGA #ASIC #VHDL #verilog #IP #Xilinx #Altera

PS: also might be intresting @ipcores
Download Telegram
Reusable Integration Framework for FPGA Accelerators (RIFFA) is a simple framework for communicating data from a host CPU to a FPGA via a PCI-E. RIFFA supports Windows/Linux, Altera/Xilinx, with bindings for C/C++, Python, MATLAB and Java.

https://github.com/KastnerRG/riffa
#PCI-E #DMA #Linux
One of my favorite part of UG949: RTL designer should know into which one primitives (and how many logic levels) infers strings of HDL
Open source tool for reading and writing Vivado design checkpoint (DCP) files. Its mission is to enable power users greater flexibility in customizing solutions http://www.rapidwright.io/ #DCP #Vivado
RapidWright_Enabling_Custom_Crafted.pdf
2.4 MB
RapidWright: Enabling Custom Crafted Implementations for FPGAs #RapidWright #Vivado #DCP
Yet another solution (IP+driver) for DMA over PCI-E for Linux/Windows Xilinx/Altera. http://xillybus.com/ #DMA #PCI-E #RIFFA #Xillybus
Following command retrieves
the TEMPERATURE property from connected FPGA:
get_property TEMPERATURE [get_hw_sysmons]
To report all properties of HW_SYSMON use this in TCL console: report_property -all [lindex [get_hw_sysmons] 0]
#SysMon #TCL #XADC #Xilinx #Telemetry
Xilinx2017_Multipumping_Flexible.pdf
1.1 MB
Multi-Pumping approach for Resource Reduction on Xilinx FPGAs

#DSP48 #ResourceSharing #MultiPumping #MPM #Xilinx
Xilinx2013_Multi_Pumping_for_Resource.pdf
112 KB
Multi-Pumping approach for Resource Reduction on Xilinx FPGAs

#DSP48 #ResourceSharing #MultiPumping #MPM #Xilinx
Useful attributes for DSP sharing in Vivado 2018.3: DSP_FOLDING and DSP_FOLDING_FASTCLOCK

#UG901 #DSP48 #ResourceSharing #MultiPumping #MPM #Xilinx
ā€œGolden ratioā€ LUT:FF from UltraFast Design Methodology #UG949 #Xilinx
Bitstream Interpretation Library (BIL) for reading and interpreting bitstream files targeted at Xilinx FPGA:

- Configuration raw data extraction from bitstream files
- XDL design regeneration out of configuration raw data
- Automated configuration mapping analyzation of a device

https://github.com/florianbenz/bil
#Xilinx #bitstream #BIL #XDL #XDLRC #RAW
Optionally run optimization if there are timing violations after placement

if {[ get_property SLACK [ get_timing_paths -max_paths 1 -nworst 1 -setup ] ] < 0 } {
puts "INFO :: Found setup timing violations. Running physical optimization once."
phys_opt_design -directive AggressiveExplore
phys_opt_design -directive AlternateReplication
phys_opt_design -directive AggressiveFanoutOpt
}


#Xilinx #Vivado #phys_opt_design #TCL #automation #slack #violation
ā¤1
A demo to write to BRAM from File and read from BRAM to file for JTAG2AXI IP Core

https://gist.github.com/imrickysu/a30afc117ac7397fdff6

#Xilinx #Vivado #BRAM #JTAG2AXI @fpgasic
To get eFuse DNA Device ID from Xilinx FPGA:
vivado -mode batch -source get_dna.tcl

https://gist.github.com/kylemanna/d177fd0d562f23d419553689252ceab7

#Xilinx #Vivado #DNA #DeviceID @fpgasic
Good example to start using design automation scripts to program bitstream into Xilinx FPGAs on Vivado CLI

https://github.com/lnls-dig/fpga-programming

#Xilinx #Vivado #CLI #TCL #JTAG @fpgasic