All Projects → paulscherrerinstitute → psi_common

paulscherrerinstitute / psi_common

Licence: other
Common elements for FPGA Design (FIFOs, RAMs, etc.)

Programming Languages

VHDL
269 projects
tcl
693 projects

Labels

Projects that are alternatives of or similar to psi common

Clio
Clio, ASPLOS'22.
Stars: ✭ 37 (+184.62%)
Mutual labels:  fpga
Deep-DarkFantasy
Global Dark Mode for ALL apps on ANY platforms.
Stars: ✭ 16 (+23.08%)
Mutual labels:  fpga
VGChips
Video Game custom chips reverse-engineered from silicon
Stars: ✭ 86 (+561.54%)
Mutual labels:  fpga
projf-explore
Project F brings FPGAs to life with exciting open-source designs you can build on.
Stars: ✭ 268 (+1961.54%)
Mutual labels:  fpga
hwt
VHDL/Verilog/SystemC code generator, simulator API written in python/c++
Stars: ✭ 145 (+1015.38%)
Mutual labels:  fpga
DFiant
DFiant: A Dataflow Hardware Descripition Language
Stars: ✭ 21 (+61.54%)
Mutual labels:  fpga
riscv-contest-2018
RISCV SoftCPU Contest 2018
Stars: ✭ 14 (+7.69%)
Mutual labels:  fpga
Speech256
An FPGA implementation of a classic 80ies speech synthesizer. Done for the Retro Challenge 2017/10.
Stars: ✭ 51 (+292.31%)
Mutual labels:  fpga
1bitSDR
Minimal SDR with Lattice MachXO2 FPGA. And a port to Cyclone3 by Steven Groom
Stars: ✭ 53 (+307.69%)
Mutual labels:  fpga
dpll
A collection of phase locked loop (PLL) related projects
Stars: ✭ 55 (+323.08%)
Mutual labels:  fpga
scalehls
A scalable High-Level Synthesis framework on MLIR
Stars: ✭ 62 (+376.92%)
Mutual labels:  fpga
FPGA CryptoNight V7
FPGA CryptoNight V7 Minner
Stars: ✭ 21 (+61.54%)
Mutual labels:  fpga
rapcores
Robotic Application Processor
Stars: ✭ 14 (+7.69%)
Mutual labels:  fpga
HPS2FPGAmapping
SoCFPGA: Mapping HPS Peripherals, like I²C or CAN, over the FPGA fabric to FPGA I/O and using embedded Linux to control them (Intel Cyclone V)
Stars: ✭ 27 (+107.69%)
Mutual labels:  fpga
fpga puf
🔑 Technology-agnostic Physical Unclonable Function (PUF) hardware module for any FPGA.
Stars: ✭ 44 (+238.46%)
Mutual labels:  fpga
getting-started
List of ideas for getting started with TimVideos projects
Stars: ✭ 50 (+284.62%)
Mutual labels:  fpga
FPGA-USB-Device
FPGA-based USB-device controller to implement USB-CDC, USB-HID, etc.
Stars: ✭ 29 (+123.08%)
Mutual labels:  fpga
intfftk
Fully pipelined Integer Scaled / Unscaled Radix-2 Forward/Inverse Fast Fourier Transform (FFT) IP-core for newest Xilinx FPGAs (Source language - VHDL / Verilog). GNU GPL 3.0.
Stars: ✭ 43 (+230.77%)
Mutual labels:  fpga
super-miyamoto-sprint
Homebrew game for homebrew FPGA game console
Stars: ✭ 48 (+269.23%)
Mutual labels:  fpga
rygar-fpga
A FPGA core for the arcade game, Rygar (1986).
Stars: ✭ 17 (+30.77%)
Mutual labels:  fpga

General Information

Maintainer

Benoît Stef [[email protected]]

Authors

License

This library is published under PSI HDL Library License, which is LGPL plus some additional exceptions to clarify the LGPL terms in the context of firmware development.

Detailed Documentation

See Documentation

Changelog

See Changelog

What belongs into this Library

This library contains general VHDL code that is not very application specific and can be reused easily. Code must be written with reuse in mind. All important settings must be implemented as Generics (e.g. port widths, FIFO depths, etc,).

It is suggested to use one .vhd file per Package or Entity.

Examples for things that belong into this library:

  • Clock-Crossings
  • FIFOs
  • Vendor Independent RAM implementations
  • Packages that extend the language

What does not belong into this Library

  • Any project specific code
  • Code that better fits into another library (e.g. signal processing code using psi_fix belongs into psi_fix)
  • Code that is not fully parametrizable

Tagging Policy

Stable releases are tagged in the form major.minor.bugfix.

  • Whenever a change is not fully backward compatible, the major version number is incremented
  • Whenever new features are added, the minor version number is incremented
  • If only bugs are fixed (i.e. no functional changes are applied), the bugfix version is incremented

Dependencies

The required folder structure looks as given below (folder names must be matched exactly).

Alternatively the repository psi_fpga_all can be used. This repo contains all FPGA related repositories as submodules in the correct folder structure.

Dependencies can also be checked out using the python script scripts/dependencies.py. For details, refer to the help of the script:

python dependencies.py -help

Note that the dependencies package must be installed in order to run the script.

Simulations and Testbenches

For everything that is non-trivial, self-checking testbenches shall be provided to allow easy and safe reuse of the library elements.

A regression test script for Modelsim is present. New Testbenches must therefore be added to the configuration of the regression test script sim/config.tcl.

To run the regression test, execute the following command in modelsim from within the directory sim

source ./run.tcl

The regression tests can also be ran using GHDL. To do so, GHDL must be installed and added to the path and a TCL interpreter must be installed. In the TCL interpreter, execute the following command within the directory sim:

source ./runGhdl.tcl
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].