Forwarded from FPG๐ธSIC
Yet another solution (IP+driver) for DMA over PCI-E for Linux/Windows Xilinx/Altera. http://xillybus.com/ #DMA #PCI-E #RIFFA #Xillybus
Verilog implementation of DisplayPort protocol for FPGA
#DisplayPort #verilog #video #FullHD
Resolution| Lanes |Eff.Pix.clockhttps://github.com/hamsternz/DisplayPort_Verilog
----------+-------+-------------
800x600 | 1 | 40.00 MHz
800x600 | 2 | 40.00 MHz
800x600 | 3 | 40.00 MHz
1280x720 | 1 | 74.25 MHz
1920x1080 | 2 | 148.50 MHz
3240x2160 | 2 | 165.00 MHz
#DisplayPort #verilog #video #FullHD
BaseJump STL: A standard library for SystemVerilog
This library has many of the standard components that you use in hardware design. But these ones are nicely parameterized, and try to use latency-insensitive
interfaces where it does not hurt performance.
Available sources, paper and video
#SV #library #STL #primitives
This library has many of the standard components that you use in hardware design. But these ones are nicely parameterized, and try to use latency-insensitive
interfaces where it does not hurt performance.
Available sources, paper and video
#SV #library #STL #primitives
VHDL-extras - provides some extra bits of code that are not found in the standard VHDL libraries. The VHDL-extras library contains 50+ components and many more utility functions that can enhance and simplify many hardware development tasks.
โ Core packages
โฆ pipelining โ Pipeline registers
โฆ sizing โ Generalized integer logarithms and array size computation
โฆ synchronizing โ Clock domain synchronizing components
โฆ timing_ops โ Conversions for time, frequency, and clock cycles
โ Arithmetic
โฆ arithmetic โ Pipelined adder
โฆ bit_ops โ Bitwise operations
โฆ cordic โ CORDIC rotation algorithm and Sine/Cosine generation
โฆ filtering โ Digital filters
โ Signal processing
โฆ ddfs โ Direct Digital Frequency Synthesizer
โฆ oscillator โ Sinusoidal frequency generators
โ Error handling
โฆ crc_ops โ Compute CRCs
โฆ hamming_edac โ Generalized Hamming error correction encoding and decoding
โฆ parity_ops โ Basic parity operations
โฆ secded_edac โ Hamming extension with double-error detection
โ Encoding
โฆ bcd_conversion โ Encode and decode packed Binary Coded Decimal
โฆ gray_code โ Encode and decode Gray code
โฆ muxing โ Decoder and muxing operations
โ Memories
โฆ fifos โ General purpose FIFOs
โฆ memory โ Synthesizable memories
โฆ reg_file โ General purpose register file
โ Randomization
โฆ lcar_ops โ Linear Cellular Automata
โฆ lfsr_ops โ Linear Feedback Shift Registers
โฆ random โ Simulation-only random number generation
โ Miscellaneous
โฆ binaryio โ Binary file I/O
โฆ interrupt_ctl โ General purpose priority interrupt controller
โฆ text_buffering โ Store text files in internal buffers
โฆ glitch_filtering โ Clean up noisy inputs
Docs and sources
#VHDL #library #primitives
โ Core packages
โฆ pipelining โ Pipeline registers
โฆ sizing โ Generalized integer logarithms and array size computation
โฆ synchronizing โ Clock domain synchronizing components
โฆ timing_ops โ Conversions for time, frequency, and clock cycles
โ Arithmetic
โฆ arithmetic โ Pipelined adder
โฆ bit_ops โ Bitwise operations
โฆ cordic โ CORDIC rotation algorithm and Sine/Cosine generation
โฆ filtering โ Digital filters
โ Signal processing
โฆ ddfs โ Direct Digital Frequency Synthesizer
โฆ oscillator โ Sinusoidal frequency generators
โ Error handling
โฆ crc_ops โ Compute CRCs
โฆ hamming_edac โ Generalized Hamming error correction encoding and decoding
โฆ parity_ops โ Basic parity operations
โฆ secded_edac โ Hamming extension with double-error detection
โ Encoding
โฆ bcd_conversion โ Encode and decode packed Binary Coded Decimal
โฆ gray_code โ Encode and decode Gray code
โฆ muxing โ Decoder and muxing operations
โ Memories
โฆ fifos โ General purpose FIFOs
โฆ memory โ Synthesizable memories
โฆ reg_file โ General purpose register file
โ Randomization
โฆ lcar_ops โ Linear Cellular Automata
โฆ lfsr_ops โ Linear Feedback Shift Registers
โฆ random โ Simulation-only random number generation
โ Miscellaneous
โฆ binaryio โ Binary file I/O
โฆ interrupt_ctl โ General purpose priority interrupt controller
โฆ text_buffering โ Store text files in internal buffers
โฆ glitch_filtering โ Clean up noisy inputs
Docs and sources
#VHDL #library #primitives
๐1
OpenSource Hybrid Memory Cube Controller (meets HMC specification Rev 1.1).
Features
โ Full link-training, sleep mode, and link retraining
โ 16Byte up to 128Byte read and write transactions
โ Posted and non-posted bit-write and atomic requests
โ Mode Read and Write
โ Full packet flow control
โ Packet integrity checks (sequence number, packet length, CRC,...)
โ Full automatic link retry
Configurations
โ 2 FLITs per Word / 256-bit datapath
โ 4 FLITs per Word / 512-bit datapath
โ 6 FLITs per Word / 768-bit datapath
โ 8 FLITs per Word / 1024-bit datapath
Sources, docs
#HMC #memory #SV
Features
โ Full link-training, sleep mode, and link retraining
โ 16Byte up to 128Byte read and write transactions
โ Posted and non-posted bit-write and atomic requests
โ Mode Read and Write
โ Full packet flow control
โ Packet integrity checks (sequence number, packet length, CRC,...)
โ Full automatic link retry
Configurations
โ 2 FLITs per Word / 256-bit datapath
โ 4 FLITs per Word / 512-bit datapath
โ 6 FLITs per Word / 768-bit datapath
โ 8 FLITs per Word / 1024-bit datapath
Sources, docs
#HMC #memory #SV
Wave Computingยฎ Inc., the Silicon Valley company launches MIPS Openโข, provides royalty-free access to chip design data. New Release of MIPSOpen Components Includes Verilog RTL Code for MIPS32 microAptiv Cores
The new set of MIPS Open program components will include two different versions of the microAptiv Verilog RTL code:
โ microAptiv MCU core: designed with application-specific features and real-time performance for microcontroller SoC development
โ microAptiv MPU core: includes a cache controller and MMU facilitating embedded system designs executing operating systems such as Linux
In addition to the Verilog RTL code, the package also includes documentation, configuration tools and a verification suite.
MIPS Open program components are available for immediate download
#MIPS #MIPS32 #MIPSOpen #microAptiv #microMIPS #RTL #verilog
The new set of MIPS Open program components will include two different versions of the microAptiv Verilog RTL code:
โ microAptiv MCU core: designed with application-specific features and real-time performance for microcontroller SoC development
โ microAptiv MPU core: includes a cache controller and MMU facilitating embedded system designs executing operating systems such as Linux
In addition to the Verilog RTL code, the package also includes documentation, configuration tools and a verification suite.
MIPS Open program components are available for immediate download
#MIPS #MIPS32 #MIPSOpen #microAptiv #microMIPS #RTL #verilog
Display Controller project written in verilog and supports VGA, DVI, and HDMI displays. It includes full configuration for 640x480, 800x600, 1280x720, and 1920x1080, as well as the ability to define custom resolutions. TMDS Encoder model already included in src.
https://github.com/projf/display-controller
#HDMI #DVI #TMDS #SerDes #VGA #verilog #Xilinx
https://github.com/projf/display-controller
#HDMI #DVI #TMDS #SerDes #VGA #verilog #Xilinx
๐2
ARM provide easy access to Cortex-M Soft Processor IP on Xilinx FPGA.
DesignStart FPGA offers instant and free access to Cortex-M1 and Cortex-M3 soft CPU IP for use on Xilinx FPGA designs for prototypes and commercial deployments.
The Cortex-M1 and Cortex-M3 processor IP is at full release quality (REL) and suitable for mass deployment. The example systems, board support package and tool integration are released at beta with updates and improvements on an ongoing basis.
Link (registration required)
#ARM #Xilinx #Cortex #CPU #DesignStart
DesignStart FPGA offers instant and free access to Cortex-M1 and Cortex-M3 soft CPU IP for use on Xilinx FPGA designs for prototypes and commercial deployments.
The Cortex-M1 and Cortex-M3 processor IP is at full release quality (REL) and suitable for mass deployment. The example systems, board support package and tool integration are released at beta with updates and improvements on an ongoing basis.
Link (registration required)
#ARM #Xilinx #Cortex #CPU #DesignStart
The AMBA Bus Protocol Assertions is a verification and validation product designed to work with a range of different user environments and usage scenarios. The underlying goal is to provide protocol specific SystemVerilog assertions for the AMBA v3 & v4: ACE, AXI3, AXI4, AXI4-Lite and AXI4-Stream protocols.
Features:
โฆ Support for the latest version of the AXI Specification
โฆ Support for separate parameterisation for read and write ID widths
โฆ Enhancements to end of simulation checks
This release has been developed and tested:
โฆ SystemVerilog v3.1a
โฆ Mentor ModelSim SE 10.1a
โฆ Cadence Incisive 11.10.008
โฆ Synopsys VCS 2011.12-3
Download links:
โฆ AMBA 3 AXI3 Protocol Assertions
โฆ AMBA 4 AXI4 Protocol Assertions
โฆ AMBA 4 ACE Protocol Checker
โฆ [All downloads required registration]
#AMBA #AXI #AXIlite #AXIS #SVA #SV #BFM #verification #ProtocolChecker
Features:
โฆ Support for the latest version of the AXI Specification
โฆ Support for separate parameterisation for read and write ID widths
โฆ Enhancements to end of simulation checks
This release has been developed and tested:
โฆ SystemVerilog v3.1a
โฆ Mentor ModelSim SE 10.1a
โฆ Cadence Incisive 11.10.008
โฆ Synopsys VCS 2011.12-3
Download links:
โฆ AMBA 3 AXI3 Protocol Assertions
โฆ AMBA 4 AXI4 Protocol Assertions
โฆ AMBA 4 ACE Protocol Checker
โฆ [All downloads required registration]
#AMBA #AXI #AXIlite #AXIS #SVA #SV #BFM #verification #ProtocolChecker
๐2โค1๐ฅ1
Your preferable way to make RTL:
Anonymous Poll
66%
Verilog
25%
VHDL
4%
HLS
5%
Python (MyHDL/MiGen/etc)
Forwarded from FPG๐ธSIC
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)
BOOM - an open-source out-of-order RISC-V CPU (RV64G ISA).
Like most contemporary high-performance cores, BOOM is superscalar (able to execute multiple instructions per cycle) and out-of-order (able to execute instructions as their dependencies are resolved and not restricted to their program order).
The main features of BOOMv2:
โฆ updated 3-stage front-end design with a bigger set-associative Branch Target Buffer (BTB)
โฆ pipelined register rename stage
โฆ split floating point and integer register files
โฆ dedicated floating point pipeline
โฆ separate issue windows for floating point, integer, and memory micro-operations
โฆ separate stages for issue-select and register read
Links:
โฆ Sources
โฆ Publication
โฆ Presentation
#RISCV #RV64 #out-of-order #scala #chisel #CPU #BOOM
Like most contemporary high-performance cores, BOOM is superscalar (able to execute multiple instructions per cycle) and out-of-order (able to execute instructions as their dependencies are resolved and not restricted to their program order).
The main features of BOOMv2:
โฆ updated 3-stage front-end design with a bigger set-associative Branch Target Buffer (BTB)
โฆ pipelined register rename stage
โฆ split floating point and integer register files
โฆ dedicated floating point pipeline
โฆ separate issue windows for floating point, integer, and memory micro-operations
โฆ separate stages for issue-select and register read
Links:
โฆ Sources
โฆ Publication
โฆ Presentation
#RISCV #RV64 #out-of-order #scala #chisel #CPU #BOOM
Project_Zipline_Overview.pptx
2.3 MB
Project Zipline - a high throughput, low latency lossless compression engine that using the innovation XP10 algorithm.
https://github.com/opencomputeproject/Project-Zipline
#compression #huffman #lz77 #zipline #XP10 #verilog #SV #lossless
https://github.com/opencomputeproject/Project-Zipline
#compression #huffman #lz77 #zipline #XP10 #verilog #SV #lossless
net2axis - network traffic verilog module for simulation: from pcap to AXI-Stream.
net2axis (simulation-only Verilog module) generates Master AXI-Stream transactions from network packets described in packet capture files (PCAP). It provides a convenient way for a user to develop his/hers network hardware design by simulating a Network/Ethernet/MAC/Internet Protocol IP cores.
Description, Sources
#verilog #PCAP #AXIS #network #simulation
net2axis (simulation-only Verilog module) generates Master AXI-Stream transactions from network packets described in packet capture files (PCAP). It provides a convenient way for a user to develop his/hers network hardware design by simulating a Network/Ethernet/MAC/Internet Protocol IP cores.
Description, Sources
#verilog #PCAP #AXIS #network #simulation
โค1
USB3 PIPE interface for Xilinx 7-Series / Lattice ECP5
Current solutions for USB3 connectivity with an FPGA require the use of an external SerDes chip (TI TUSB1310A) or external FIFO (FTDI FT60X or Cypress FX3). With this project, we want to see if it's possible to just use the transceivers of the FPGA for the USB3 connectivity and have the USB3 PIPE directly implemented in the fabric (and then avoid any external chip).
https://github.com/enjoy-digital/usb3_pipe
#USB3 #PIPE #PHY #verilog #LiteX #python #Xilinx #Lattice
Current solutions for USB3 connectivity with an FPGA require the use of an external SerDes chip (TI TUSB1310A) or external FIFO (FTDI FT60X or Cypress FX3). With this project, we want to see if it's possible to just use the transceivers of the FPGA for the USB3 connectivity and have the USB3 PIPE directly implemented in the fabric (and then avoid any external chip).
https://github.com/enjoy-digital/usb3_pipe
#USB3 #PIPE #PHY #verilog #LiteX #python #Xilinx #Lattice
OpenOFDM - implementation of 802.11 OFDM decoder.
In a nutshell, the top level dot11 Verilog module takes 32-bit I/Q samples (16-bit each) as input, and output decoded bytes in 802.11 packet. The sampling rate is 20 MSPS and the clock rate is 100 MHz.
Features:
โฆ Full support for legacy 802.11a/g
โฆ Support 802.11n for MCS 0..7@20MHz bandwidth
โฆ Cross validation with included Python decoder
https://github.com/jhshi/openofdm
#verilog #OFDM #PHY #802.11 #USRP #WiFi
In a nutshell, the top level dot11 Verilog module takes 32-bit I/Q samples (16-bit each) as input, and output decoded bytes in 802.11 packet. The sampling rate is 20 MSPS and the clock rate is 100 MHz.
Features:
โฆ Full support for legacy 802.11a/g
โฆ Support 802.11n for MCS 0..7@20MHz bandwidth
โฆ Cross validation with included Python decoder
https://github.com/jhshi/openofdm
#verilog #OFDM #PHY #802.11 #USRP #WiFi
โค1
Nyuzi - an experimental GPGPU processor hardware design focused on compute intensive tasks. It is optimized for use cases like deep learning and image processing.
This GPGPU includes a synthesizable hardware design written in System Verilog, an instruction set emulator, an LLVM based C/C++ compiler, software libraries, and tests. It can be used to experiment with microarchitectural and instruction set design tradeoffs.
High level features:
โฆ Multiple cores with cache coherence
โฆ Hardware multithreading
โฆ Wide vector floating point SIMD with predicated execution
โฆ Virtual memory
src: https://github.com/jbush001/NyuziProcessor
doc: https://github.com/jbush001/NyuziProcessor/wiki
#SV #GPGPU #FPGA #LLVM
This GPGPU includes a synthesizable hardware design written in System Verilog, an instruction set emulator, an LLVM based C/C++ compiler, software libraries, and tests. It can be used to experiment with microarchitectural and instruction set design tradeoffs.
High level features:
โฆ Multiple cores with cache coherence
โฆ Hardware multithreading
โฆ Wide vector floating point SIMD with predicated execution
โฆ Virtual memory
src: https://github.com/jbush001/NyuziProcessor
doc: https://github.com/jbush001/NyuziProcessor/wiki
#SV #GPGPU #FPGA #LLVM
Open Source USB test suite is an open source test suite for USB IP cores. It currently supports USB1.1 and will be extended for higher revisions in the future.
โฆ https://github.com/antmicro/usb-test-suite-build - top level repo
โฆ https://github.com/antmicro/usb-test-suite-cocotb-usb - cocotb_usb
โฆ https://github.com/antmicro/usb-test-suite-testbenches - test and wrapper scripts
#verification #cocotb #python #USB #tb
โฆ https://github.com/antmicro/usb-test-suite-build - top level repo
โฆ https://github.com/antmicro/usb-test-suite-cocotb-usb - cocotb_usb
โฆ https://github.com/antmicro/usb-test-suite-testbenches - test and wrapper scripts
#verification #cocotb #python #USB #tb
This media is not supported in your browser
VIEW IN TELEGRAM
HDMI Out - SystemVerilog code for HDMI 1.4a video/audio output on an FPGA. To support audio and other HDMI-only functionality, a true HDMI signal must be sent. The code in this repository lets you do that without having to license an HDMI IP block from anyone.
โฆ 24-bit color
โฆ Data island packets
โฆ Null packet
โฆ ECC with BCH systematic encoding GF(2^8)
โฆ Audio clock regeneration
โฆ L-PCM audio 2-channel
โฆ Audio InfoFrame
โฆ Video formats 1, 2, 3, 4, 16, 17, 18, 19
โฆ VGA text mode
โฆ IBM 8x16 font
โฆ Double Data Rate I/O (DDRIO)
โฆ Supports up to 1920x1080@60Hz
https://github.com/hdl-util/hdmi
#HDMI #Altera #SystemVerilog
โฆ 24-bit color
โฆ Data island packets
โฆ Null packet
โฆ ECC with BCH systematic encoding GF(2^8)
โฆ Audio clock regeneration
โฆ L-PCM audio 2-channel
โฆ Audio InfoFrame
โฆ Video formats 1, 2, 3, 4, 16, 17, 18, 19
โฆ VGA text mode
โฆ IBM 8x16 font
โฆ Double Data Rate I/O (DDRIO)
โฆ Supports up to 1920x1080@60Hz
https://github.com/hdl-util/hdmi
#HDMI #Altera #SystemVerilog
FPGA-Imaging-Library [F-I-L] - open source library for image processing on FPGA.
All the operations are packaged to IPCores, and of course they follow a same and standardized interface, moreover, each of them can work on piplines-mode and req-ack mode. Certainly, all IPCores have their software simulations, functional simulations and testing on board, the same folder structure and interface can make user do simulations and testing conveniently.
https://github.com/dtysky/FPGA-Imaging-Library
#vivado #verilog #xilinx #image #AXI
All the operations are packaged to IPCores, and of course they follow a same and standardized interface, moreover, each of them can work on piplines-mode and req-ack mode. Certainly, all IPCores have their software simulations, functional simulations and testing on board, the same folder structure and interface can make user do simulations and testing conveniently.
https://github.com/dtysky/FPGA-Imaging-Library
#vivado #verilog #xilinx #image #AXI
๐1