1
0
mirror of https://github.com/pConst/basic_verilog.git synced 2025-01-28 07:02:55 +08:00
basic_verilog/README.md

44 lines
2.4 KiB
Markdown
Raw Normal View History

2015-12-14 21:13:15 +03:00
# basic_verilog
### Some basic must-have verilog modules
(licensed under CC BY-SA 4_0)
2019-02-23 00:20:06 +03:00
Author: Konstantin Pavlov, pavlovconst@gmail.com
2015-12-14 21:13:15 +03:00
### CONTENTS:
* **/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
2019-02-23 00:20:06 +03:00
* **compile.tcl** - tcl script to configure and run Modelsim compilation without need to create simulation project manually
* **ActionBurst** - multichannel one-shot triggering module
* **ActionBurst2** - multichannel one-shot triggering with variable steps module
* **bin2pos** - converts binary coded value to positional (one-hot) code
2019-02-23 00:20:06 +03:00
* **clk_divider** - wide reference clock divider
* **debounce** - two-cycle debounce for input buttons
* **dynamic_delay** - dynamic delay for arbitrary input signal made on general-purpose trigger elements
* **edge_detect** - edge detector, gives one-tick pulses on every signal edge
* **encoder** - digital encoder input logic module
* **fifo** - single-clock FIFO buffer (queue) implementation
* **NDivide** - primitive integer divider
* **lifo** - single-clock LIFO buffer (stack) implementation
2019-02-23 00:20:06 +03:00
* **leave_one_hot** - leaves only lowest hot bit in vector
* **PulseGen** - generates pulses with given width and delay
2019-02-23 00:20:06 +03:00
* **pos2bin** - converts positional (one-hot) value to binary representation
* **reset_set** - SR trigger variant w/o metastable state, set dominates here
* **reverse_vector** - reverses signal order within multi-bit bus
* **set_reset** - SR trigger variant w/o metastable state, reset dominates here
* **spi_master** - universal spi master module
* **delay** - static delay for arbitrary input signal made on Xilinx`s SRL16E primitives. Also serves as input synchronizer, a standard way to get rid of metastability issues
* **UartRx** - straightforward yet simple UART receiver implementation for FPGA written in Verilog
* **UartTx** - straightforward yet simple UART transmitter implementation for FPGA written in Verilog
* **UartRxExtreme** - extreme minimal UART receiver implementation for FPGA written in Verilog
* **UartTxExtreme** - extreme minimal UART transmitter implementation for FPGA written in Verilog
2015-12-25 23:20:33 +03:00
2019-02-23 00:20:06 +03:00
Also added testbenches for selected modules
2015-12-14 21:13:15 +03:00