1
0
mirror of https://github.com/pConst/basic_verilog.git synced 2025-01-14 06:42:54 +08:00
basic_verilog/README.md
2016-04-07 13:42:47 +03:00

1.7 KiB

basic_verilog

Some basic must-have verilog modules

####(licensed under CC BY-SA 4_0)

/Advanced Synthesis Cookbook/ - useful code from Altera's cookbook
/KCPSM6_Release9_30Sept14/ - Xilinx's Picoblaze soft processor
/pacoblaze-2.2/ - version of Picoblaze adapted for Altera devices

Main_tb.v - basic testbench template

ActionBurst.v - multichannel one-shot triggering module
ClkDivider.v - wide reference clock divider
DeBounce.v - two-cycle debounce for input buttons
DynDelay.v - dynamic delay made on general-purpose trigger elements
EdgeDetect.v - edge detector, gives one-tick pulses on every signal edge
Encoder.v - encoder input module
PulseGen.v - generates pulses with given width and delay
ResetSet.v - SR trigger variant w/o metastable state, set dominates here
SetReset.v - SR trigger variant w/o metastable state, reset dominates here
SimplePulseGen.v - generates one-cycle pulse with given delay
StaticDelay.v - static delay made on Xilinx`s SRL16E primitives
Synch.v - input synchronizer (and also "static delay module"), standard way to get rid of metastability issues

UartRx.v - straightforward yet simple UART receiver implementation for FPGA written in Verilog
UartTx.v - straightforward yet simple UART transmitter implementation for FPGA written in Verilog
UartRxExtreme.v - extreme minimal UART receiver implementation for FPGA written in Verilog
UartTxExtreme.v - extreme minimal UART transmitter implementation for FPGA written in Verilog

Also added some simple testbenches for selected modules

Author: Konstantin Pavlov, pavlovconst@gmail.com