π—œπ—£ 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
[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! πŸ™πŸ»
Vortex - a full-system RISCV-based GPGPU processor

Specs
▫️Support RISC-V RV32IMF ISA
▫️Fully scalable: 1 to 32 cores with optional L2 and L3 caches
▫️OpenCL 1.2 Support
▫️FPGA target: Intel Arria 10 @200 MHz

πŸ’Ύ https://github.com/vortexgpgpu/vortex

#verilog #GPGPU #GPU #FPGA #LLVM
@ipcores
πŸ‘2❀1
Cryptography IP-cores lib
Used openSSL as reference models to check the correctness of the implementation.

Features:
▫️DES
▫️AES
▫️CTR-AES
▫️CBC-AES
▫️CBC-DES
▫️CBC-TDES

πŸ’Ύ https://github.com/tmeissner/cryptocores

#сryptography #vhdl #verilog #aes #cipher #OSVVM
@ipcores
πŸ‘3πŸ”₯1
SVLogger - A SystemVerilog logger to help designers to log events in a circuit during a simulation in a consistent way. SVLogger is a simple class, easy to instantiate and use, with no dependencies.

πŸ’Ύ https://github.com/dpretet/svlogger
πŸ“„ https://github.com/dpretet/svlogger/tree/main/example

#logger #logging #simulation #verification #debug #sv #systemverilog #icarus
@ipcores
SURF (SLAC Ultimate RTL Framework) - a huge VHDL library for FPGA development.

Links:
▫️ sources
▫️ documentation

#VHDL #library #STL #primitives
@ipcores
πŸ”₯11πŸ‘8πŸ€”1πŸŽ‰1
open5G_rx - a synthesizable verilog HDL core for a 5G NR lower phy receiver.

Implemented:
▫️ Decimator
▫️ PSS correlator
▫️ Peak detector
▫️ PSS detector
▫️ FFT demodulator
▫️ SSS detector
▫️ Frame sync
▫️ Channel estimator
▫️ Ressource grid subscriber
▫️ AXI-DMAC


πŸ’Ύ https://github.com/catkira/open5G_rx

#SV #5G #DSP #FFT #ORAN
@ipcores
πŸ‘11❀4πŸ”₯4😱4⚑1
openwifi - open-source IEEE 802.11 WiFi baseband FPGA (chip) design.

Features:
▫️802.11a/g/n [IEEE 802.11n (Wi-Fi 4)]
▫️20MHz bandwidth; 70 MHz to 6 GHz frequency range
▫️Mode tested: Ad-hoc; Station; AP, Monitor
▫️DCF (CSMA/CA) low MAC layer in FPGA (10us SIFS is achieved)
▫️802.11 packet injection and fuzzing
▫️CSI: Channel State Information, freq offset, equalizer to computer
▫️CSI fuzzer: Create artificial channel response in WiFi transmitter
▫️CSI radar: Moving detection. Joint radar and communication
▫️IQ capture: real-time AGC, RSSI, IQ sample to computer
▫️Configurable channel access priority parameters
▫️Time slicing based on MAC address (time gated/scheduled FPGA queues)
▫️Easy to change bandwidth and frequency:
▫️2MHz for 802.11ah
▫️10MHz for 802.11p

Links:
πŸ“„ https://github.com/open-sdr/openwifi
πŸ’Ύ https://github.com/open-sdr/openwifi-hw

#SV #80211 #SDR #DSP #wifi
@ipcores
❀9πŸ‘5⚑4πŸ”₯2❀‍πŸ”₯1
SlowDDR3 - A general slow DDR3 interface.

Features:
▫️Very little resource consumption*
▫️Suits for all FPGAs with 1.5V IO voltage
▫️Designed to run at DDR-100
▫️Designed to work with LVCMOS IO PADs
▫️Write in SpinalHDL (Future is coming πŸ˜…)

*E.g. Gowin DDR3 IP consumes 1288 FFs, 1363 LUTs, 102 ALUs, 8 BSRAMs and 110 SSRAMs.
While slowDDR3 consumes 147 FFs and 216 LUTs.

Links:
πŸ’Ύ src: https://github.com/ZiyangYE/General-Slow-DDR3-Interface
πŸ“„ example: https://github.com/ZiyangYE/LicheeTang20K_DDR_Test

#DDR3 #SDRAM #SpinalHDL
@ipcores
πŸ”₯5πŸ‘3❀1❀‍πŸ”₯1πŸŽ‰1
USB_CDC - Full Speed (12Mbit/s) USB communications device class (or USB CDC class) for FPGA and ASIC designs.

USB_CDC implements the Abstract Control Model (ACM) subclass. Windows 10 provides a built-in driver (Usbser.sys) for USB CDC devices. A USB_CDC device is automatically recognized by Windows 10 as a virtual COM port, and a serial port terminal application such as CoolTerm can be used to communicate with it.

macOS and Linux provide built-in drivers for USB CDC ACM devices too. On macOS, the virtual COM gets a name like /dev/cu.usbmodem14601, whereas, on Linux, it gets a name like /dev/ttyACM0.

πŸ’Ύ https://github.com/ulixxe/usb_cdc

#USB #CDC #UART #verilog
@ipcores
πŸ‘19πŸ”₯8πŸ‘Œ1
USB_HID_host - a compact USB HID host FPGA core supporting keyboards, mice and gamepads.

It is designed mainly for FPGA retro gaming and computing projects. The most significant advantage is its all-in-one design. It does not require a CPU to work. And it is quite small (<300 LUTs, <250 registers and 1 BRAM block).

Features:
▫️No CPU is required. The core handles all layers of the USB protocol related to HID devices
▫️No USB interface IC (PHY) needed
▫️USB low-speed (1.5Mbps). Uses a single 12Mhz clock

πŸ’Ύ https://github.com/nand2mario/usb_hid_host

#USB #HID #host #verilog
@ipcores
πŸ‘17❀2