๐—œ๐—ฃ cores
1.23K subscribers
77 photos
1 file
75 links
Collection of IP-cores for FPGA & ASIC written on Verilog/VHDL

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

PS: also might be intresting @fpgasic
Download Telegram
A high performance streaming FFT core based on Bailey's 4-step large FFT algorithm (focused on speed optimizing: Fmax is up to 30% higher than Xilinx FFT IP)

Data input/output are continuous with no gaps between frames. Currently only supporting power-of-two sizes and fixed point data.

Top level VHDL code is generated by the script codegen/gen_fft.py.

https://github.com/owocomm-0/fpga-fft

#FFT #DSP #VHDL #generator #python #multicycle_path
Ariane CVA6 - an Application class 6-stage 64-bit RISC-V CPU capable of booting Linux.

CVA6 fully implements I, M, A and C extensions as specified in Volume I: User-Level ISA V 2.3 as well as the draft privilege extension 1.10. It implements three privilege levels M, S, U to fully support a Unix-like operating system. Furthermore it is compliant to the draft external debug spec 0.13.

It has configurable size, separate TLBs, a hardware PTW and branch-prediction (branch target buffer and branch history table). The primary design goal was on reducing critical path length.

https://github.com/openhwgroup/cva6

#ISA #RISCV #SystemVerilog #SV #CPU #RV64
Verilog Audio Controller is a basic audio controller providing I2S, SPDIF, and DAC outputs.
Simple to drive AXI4-L register interface, with built in 2048 entry buffer and interrupt on programmable threshold.

Features
โ–ซ๏ธSPDIF tx supporting 16-bit data @ 44.1KHz or 48KHz
โ–ซ๏ธI2S master (SCK, SDATA, WS)
โ–ซ๏ธ2 channel sigma-delta DAC outputs
โ–ซ๏ธAXI4-L register interface
โ–ซ๏ธ8KB RAM buffer inferred (maps to BRAM)
โ–ซ๏ธProgrammable interrupt threshold
โ–ซ๏ธSingle interrupt output

https://github.com/ultraembedded/core_audio

#I2S #SPDIF #DAC #audio #verilog
@ipcores
SURF (SLAC Ultimate RTL Framework) - a huge VHDL library for FPGA development.

Links:
โ–ซ๏ธ sources
โ–ซ๏ธ documentation

#VHDL #library #STL #primitives
@ipcores
A good entry point to CDC topic - from list of interesting documents explaining in depth CDC topics to gathering basic Clock domain crossing RTL modules, like:
โ–ซ๏ธ IO debouncer
โ–ซ๏ธ Simple synchronization thru 2 FFDs
โ–ซ๏ธ Pulse synchronizer (with and w/o handshake)
โ–ซ๏ธ Data bus synchronizer with recirculation mux
โ–ซ๏ธ Asynchronous dual-clock FIFO (as submodule)

https://github.com/dpretet/cdc

#CDC #pulse #synchronizer #FF #fifo #SV #verilog
@ipcores
๐Ÿ‘1
Full AXI VHDL verification model -
UVVM (the Open Source Universal VHDL Verification Methodology) has just released a free and open source VHDL verification model for AXI4. It can be accessible from UVVM repository and be used in any VHDL testbench - even inside an old legacy testbench if you like - or together with other VHDL verification systems.

The AXI4 model has full support for independent channels, burst transfers and out of order transmissons. The UVVM AXI4-lite has also been upgraded to allow independent channels. This means UVVM now provides free and open source VHDL verification models for AXI4, AXI4-lite and AXI4-stream.


#VHDL #UVVM #AXI #AMBA #BFM #verification
@ipcores
VerCoLib-PCIe - The Versatile Communication Library is a collection of VHDL modules to enable DMA data transfer over PCIe.

โ—ฆ Doc
โ—ฆ Src

#PCIe #DMA #Xilinx #VHDL #Vivado #VUnit
@ipcores
bladeRF-wiphy - project is an open-source IEEE 802.11 compatible software defined radio VHDL modem. The modem is able to modulate and demodulate 802.11 packets (the protocol WiFi is based on), and can be adapted to various FPGA SDR platforms.

Features:
โ—ฆ IEEE 802.11 compatible FPGA based PHY receiver and transmitter
โ—ฆ Linux mac80211 MAC integration
โ—ฆ RX and TX monitor mode support
โ—ฆ Hardware Distributed Coordination Function (DCF) allows quick turn-around time ACKs
โ—ฆ High-performance equalizer โ€“ implements Zero Forcing (ZF) and optionally Decision Feedback Equalizer (DFE)

Links:
โ—ฆ technical write-up
โ—ฆ sources

#VHDL #OFDM #PHY #802.11 #BladeRF #WiFi
๐Ÿ‘2
[WiP] ARM_Implementation - an implementation of ARM processor in Verilog.

Features:
โ–ซ๏ธ Pipeline
โ–ซ๏ธ Hazard Detection
โ–ซ๏ธ Forwarding Unit

https://github.com/gsoosk/ARM_Implementation

#ARM #CPU #verilog
[WiP] PCI2Nano - An open source FPGA PCI (not PCI-E) core, a 8250-Compatible PCI-based UART core and Nios II example design driving the UART.

Actually this is a turnkey set of open source design files and reference information for anyone to be able to start tinkering with PCI/PCIe on low end FPGAs. If you have a desire to interface to a host which supports PCIe and would like a quick way to design PCI functions which interface to the host, this project may be for you!

Links:
โ–ซ๏ธ gateware
โ–ซ๏ธ hardware

#PCI #verilog #UART #8250 #NIOS
๐Ÿ‘1
parser-gen - Network packet parser generator. This generator produces synthesizable SystemVerilog.

It generates both fixed and programmable parsers. Fixed parsers use a parse graph that is chosen at generation time, while programmable parsers use a parse graph that is chosen at run time. The logic in a fixed parser is generated specifically for the chosen parse graph. The logic in a programmable parser is independent of the parse graph; however, the parse graph is used to build the testbench and to populate the parse state table (emulated TCAM/RAM) module.

Links:
โ–ซ๏ธ Documentation
โ–ซ๏ธ Sources

#python #perl #sv #SystemVerilog #network #verification #tcp #udp #stimulus #tb
@ipcores
GLIP - The Generic Logic Interfacing Project.

GLIP is a solution for transferring data through FIFOs between a host, usually a PC, and a target, usually a hardware component such as an FPGA or a microcontroller. The actual data transport can happen through various interfaces, such as USB 2.0, JTAG or TCP.

Features
โ–ซ๏ธEasy FIFO-based communication, abstracting away all low-level details
โ–ซ๏ธSupport for different communication channels through backends
โ–ซ๏ธSide-channel communication (e.g. reset signals)
โ–ซ๏ธDeveloped on and for Linux

Links:
โ–ซ๏ธ Documentation
โ–ซ๏ธ Sources

#verilog #SV #JTAG #FIFO #USB
@ipcores
Verilog LFSR - Fully parametrizable combinatorial parallel LFSR/CRC module. Implements an unrolled LFSR next state computation.

โ–ซ๏ธlfsr.v - Parametrizable combinatorial LFSR/CRC module
โ–ซ๏ธlfsr_crc.v - Parametrizable CRC computation wrapper
โ–ซ๏ธlfsr_descramble.v - Parametrizable LFSR self-synchronizing descrambler
โ–ซ๏ธlfsr_prbs_check.v - Parametrizable PRBS checker wrapper
โ–ซ๏ธlfsr_prbs_gen.v - Parametrizable PRBS generator wrapper
โ–ซ๏ธlfsr_scramble.v - Parametrizable LFSR self-synchronizing scrambler

Links:
โ–ซ๏ธ Sources

#verilog #python #MyHDL #LFSR #CRC
@ipcores
๐Ÿ‘1
FPU Generator - a Floating Point Adder/Multiplier/Multiply-Accumulate generator and testbench.

Links:
โ–ซ๏ธ Sources

#perl #matlab #FPU #FloatingPoint
@ipcores
โค1
SimpleVOut - FPGA Core for Creating VGA/DVI/HDMI/OpenLDI Signals

SimpleVOut (SVO) is a simple set of FPGA cores for creating video signals in various formats. The cores connect using AXI-streams. Most configurations (resolution, framerate, colordepth, etc.) are set at compile-time using Verilog parameters. See svo_defines.vh for details on those parameters.

Links:
โ–ซ๏ธ Sources

#verilog #AXIS #VGA #DVI #HDMI #OpenLDI
@ipcores
๐Ÿ‘1๐ŸŽ‰1
Vortex - a full-system RISCV-based GPGPU processor.

Specs
โ–ซ๏ธSupport RISC-V RV32I ISA
โ–ซ๏ธFully scalable: 1 to 16 cores with optional L2 and L3 caches
โ–ซ๏ธOpenCL 1.2 Support
โ–ซ๏ธFPGA target: Intel Arria 10 @200 MHz

๐Ÿ’พ https://github.com/himanshu5-prog/vortexGPU

#verilog #GPGPU #GPU #FPGA #LLVM
@ipcores
๐Ÿ‘1
LoRa Modulator - a custom LoRa modulator that supports different bandwidths and spreading factors (SF) on Lattice ECP5 FPGA and I/Q interface with AT86RF215 RF radio.

๐Ÿ’พ https://github.com/uw-x/lora-modulator

#verilog #RF #LoRa #modulator #transmitter
@ipcores
Process-Voltage-Temperature (PVT) Sensors with MCU - a collection of open-source circuits and software tools for PVT monitoring in custom ICs.

๐Ÿ’พ https://github.com/scale-lab/PVTsensors

#verilog #asic #PVT #cmos #RISCV #precess
@ipcores
XiangShan - mature (almost 6000 commits) high-performance RISC-V processor by Institute of Computing Technology, Chinese Academy of Sciences.

๐Ÿ’พ https://github.com/OpenXiangShan/XiangShan
๐Ÿ“„ https://github.com/OpenXiangShan/XiangShan-doc

#ISA #RISCV #scala #chisel #CPU #FPU
@ipcores
S-Link - a lightweight chiplet/chip-to-chip controller. S-Link is a simple, scalable, and flexible link controller protocol geared towards chiplets and chip-to-chip communication.

S-Link defines the link layer, and gives freedom for various application and physical layers. The ultimate goal of S-Link is to provide a simple alternative for chiplet communication compared to other protocols.

Features:
โ–ซ๏ธMult-lane support (upto 128+)
โ–ซ๏ธ128b/130b encoding
โ–ซ๏ธParameterizable Application Data Widths
โ–ซ๏ธConfigurable Attributes for fine tuning link controls and/or active link management
โ–ซ๏ธECC/CRC for error checking of packet headers and payload data
โ–ซ๏ธParameterizable pipeline stages to optimize for frequency and/or power

๐Ÿ’พ https://github.com/waviousllc/wav-slink-hw

#chiplet #protocol #verilog
@ipcores
๐Ÿ‘5
700 followers ๐Ÿ˜ฑ
Thank you to everyone of you! ๐Ÿ™๐Ÿป