FPGš”øSIC
2.02K subscribers
85 photos
12 files
88 links
FPG/A/SIC tips and tricks

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

PS: also might be intresting @ipcores
Download Telegram
A padring generator for ASIC.
Tool makes padrings for ASICs using a LEF file and a placement/configuration file. The padrings can be output in GDS2, DEF and/or SVG format.

https://github.com/YosysHQ/padring

#ASIC #phydesign #padring #LEF #GDSII #DEF
ASIC Pinout Drawer - a simple pin assignment generator for IC case.

Input:
ā—¦ CSV or AsciiDoc table

Output:
ā—¦ SVG or PNG drawing

https://github.com/iDoka/asic-pinout-drawer

#ASIC #techdoc #techwriting #datasheet #asciidoc #svg
diearea - a script for analyzing and graphical representation of area occupied by some part of hierarhical design in Synopsys DC (based on dc_shell report parsing).

https://github.com/dmitrodem/sizefs

#ASIC #DC #tcl #area #report #sizefs #json
PyMTL - an open-source python-based unified framework for multi-level hardware modeling and vertically integrated computer architecture research.

PyMTL that aims to close this computer architecture research methodology gap by providing a unified design environment for functional-level (FL), cycle-level (CL), and register-transfer-level (RTL) modeling. PyMTL leverages the Python programming language to create a highly productive domain-specific embedded language for concurrent-structural modeling and hardware design.

A custom JIT engine automatically generates optimized C++ for CL and RTL models. To reduce the performance impact of the remaining unspecialized code, Sim JIT combines with an off-the-shelf Python interpreter with a meta-tracing JIT compiler (PyPy). Sim JIT+PyPy provides speedups of up to 72Ɨ for CL models and 200Ɨ for RTL models.

ā—¦ Paper
ā—¦ Tutorial + Examples
ā—¦ Sources

#PyMTL #JIT #framework #python #modeling #verilator
Did you know that Icarus Verilog includes a non-standard random number generator as a built-in?

$mti_random()
$mti_dist_uniform


These functions are similar to the IEEE1364 standard $random functions, but they use the Mersenne Twister (MT19937) algorithm. This is considered an excellent random number generator, but does not generate the same sequence as the standardized $random.

#iverilog #simulation #verilog #random #RNG
BD_SHELL - is like a UNIX command line shell, but for manually writing and reading FPGA|ASIC registers on a 32bit Local Bus. Supports scripting of course and dumping register contents to a file. It works alongside SUMP2 as a diagnostic tool for chip bringup and debugging.

Fully cross platform compatible and much easier to maintain. BD_SHELL is part of "Backdoor" suite of tools for FPG/A/SIC diagnostics over a simple 2-pin FTDI cable for 1 Mbps UART communications using the Mesa Bus Protocol. The bd_server.py TCP server supports other links such a PCIe, SERDES, whatever you have that Python can talk to, bd_server.py can adapt to.

https://github.com/blackmesalabs/bd_shell

#debug #backdoor #FTDI #python #powershell
Quick & dirty approach to detect/prevent any attempt to JTAG access. The output signal might will use an almost infinite number of possible options, such as:

ā—¦ Reset the internal MMCM/PLLs
ā—¦ Gate off any internal clocks
ā—¦ Drive the GSR or GTS inputs on the STARTUPEx primitive

#FPGA #Xilinx #JTAG #TamperDetection #protection #security
VHD2VL - free and opensource translator for synthesizable VHDL into Verilog 1995/2001. It does not support the full VHDL grammar - most of the testbench related features have been left out. Syntax and semantics are not carefully checked. vhd2vl assumes that the input is error-free.
Vhd2vl is written using lex (actually Flex), yacc (actually Bison), and C.

The most important VHDL constructs missing from this version are
ā—¦ packages
ā—¦ structures
ā—¦ functions
ā—¦ strings
ā—¦ attributes

Project page + sources

#VHDL #Verilog #converter #translator #flex #bison
In order to improving of content relevancy please help us by voting for favourite/most used FPGA vendor:
Anonymous Poll
66%
Xilinx
22%
Altera/Intel
6%
LatticeSemi/Micosemi/Microchip/etc
6%
I don't use FPGA (e.g. ASIC or so)
Forwarded from š—œš—£ cores
Your preferable way to make RTL:
Anonymous Poll
66%
Verilog
25%
VHDL
4%
HLS
5%
Python (MyHDL/MiGen/etc)
FPGš”øSIC pinned Ā«In order to improving of content relevancy please help us by voting for favourite/most used FPGA vendor:Ā»
Automated_flow_for_compressing_convolution.pdf
628.3 KB
Automated flow for compressing convolution neural networks for efficient edge-computation with FPGA
#FPGA #NN #ML #CNN #YOLO #LeapMind #TensorFlow
LeFlow_Enabling_Flexible_FPGA_High.pdf
1.5 MB
LeFlow: Enabling Flexible FPGA High-Level Synthesis of Tensorflow Deep Neural Networks
#FPGA #NN #ML #LegUp #LLVM #DNN #Python #XLA #TensorFlow
CLaaS - Custom Logic as a Service.
This solution, it significantly reduces the complexity of developing a hardware-accelerated application, bringing the platform within the reach of everyone, including startups, open-source enthusiasts and makers. With the framework, you can stream data directly between your custom FPGA kernel and application using standard websockets.

https://github.com/alessandrocomodi/fpga-webserver

#CLaaS #FPGA #web #framework #WebSocket #AWS
OpenSTA - the engine for gate level static timing verifier. As a stand-alone executable it can be used to verify the timing of a design using standard file formats. OpenSTA uses a TCL command interpreter to read the design, specify timing constraints and print timing reports.

Sources, Docs

#TCL #STA #sdc #sdf #spef #timing #analyze #netlist
The OpenROAD team also has several amazing projects, e.g.:

ā—¦ RePlAce - RePlAce global placement tool
ā—¦ FastRoute4-lefdef - LEF/DEF/Rsyn-based router
ā—¦ OpenDP - Open Source Detailed Placement engine
ā—¦ TritonCTS - Srcs and calibration scripts for clock tree synthesis
ā—¦ magic - OpenROAD specific Magic VLSI Layout Tool
ā—¦ ioPlacer - IO and Pin Placer for Floorplan-Placement Subflow

#ASIC #TCL
vitisintroductionslides1574138153170.pdf
3.1 MB
Xilinx Vitis slides from today's presentation:

Bring Your Applications to Life with Vitis

#Xilinx #Vitis #HLS #FaaS #AI #Alveo #SDAccel #SDSoC
#VitisAI has been released today at the #xdf2019 and is available for download now.

In a nutshell: it is the tool that takes your trained #tensorflow or #caffe model and optimises it for your #Xilinx hardware.
Or very simply spoken: the turbocharge for #versal-devices and their AI engines.
HDL Checker - a language server that wraps VHDL/Verilg/SystemVerilog tools that aims to reduce the boilerplate code needed to set things up. It supports Language Server Protocol or a custom HTTP interface; can infer library VHDL files likely belong to, besides working out mixed language dependencies, compilation order, interpreting some compilers messages and providing some static checks.

https://github.com/suoto/hdl_checker

#HDL #checker #LINT #verilog #VHDL #SV #python