====== Synthesizeable VHDL-Model-Library ====== ===== In-House ===== We have implemented parameterizeable VHDL models and Testbenches. You type in the portwidth and receive the synthesizeable VHDL description (and the accordingly testbench and a trace file for the SYNOPSYS VHDL-simulator). ---- Here you find our [[.:package]] with specifc types. Content: * [[.:Carry-Lookahead-Adder]] * [[.:Carry-Lookahead-Adder-Subtractor]] * [[.:Array-Divider]] * [[.:Array-Divider-Multiplier]] * [[.:Synchronous FIFO]] (First In First Out): data output synchron to the clock edge * [[.:Asynchronous FIFO]]: data output asynchron to the clock edge * [[.:Arbiter(1)]]: bus- and grant-request realized as one signal * [[.:Parity-Generator]] * [[.:Synchronous Loadable Counter]] * [[.:Synchronous counter with hard upper limit]] * [[.:Synchronous separable counter with loadable upper limit]] ---- Others: * [[.:AND]] * [[.:OR]] * [[.:XOR]] * [[.:NAND]] * [[.:NOR]] * [[.:D-Flip-Flop]] * [[.:JK-Flip-Flop]] * [[.:T-Flip-Flop]] * [[.:Arbiter(2)]] * [[.:MUX]] * [[.:DEMUX]] ===== University of Patras ===== ==== Copyright ==== University of Patras \\ Dept. of Electrical and Computer Engineering \\ Prof. Ph.D. C. Goutis \\ Patras, 26110 Greece \\ Tel.: +30-61-997340 \\ Fax: +30-61-994798 \\ E-mail: goutis@ee.upatras.gr \\ WWW: http://www.vlsi.ee.upatras.gr/Goutis/goutis.html ==== Modules ==== The modules are implemented as parameterizeable VHDL models and Testbenches. By selecting the corresponding link you receive the VHDL description of the module or the testbench. After marking the VHDL source code and copying it to a local text file, you just have to insert the appropriate values for the generics in the entities or component instantiations. ---- Here you find a [[.:patras:functions|package]] with useful functions. Content: * [[.:patras:ALUs]]: Various Arithmetic and Logical Units * [[.:patras:COMPARATORs]]: Equality and Magnitude Comparators * [[.:patras:COUNTERs]]: Up-Down, Binary-Gray Counters * [[.:patras:ENCODERs_DECODERs]]: Encoders and Decoders * [[.:patras:FIFOs]]: Single and Dual Clocked FIFOS * [[.:patras:INCREMENTERs_DECREMENTERs]]: Incrementers and Decrementers * [[.:patras:MUXERs]]: Various width Multiplexers * [[.:patras:REGISTERs]]: Register Files * [[.:patras:SHIFTERs]]: Left, Right and Bidirectional Shifters with various Input-Output Options * [[.:patras:SPECIAL]]: Various Models that Perform special functions * [[.:patras:UNIVERSAL MULTIPLIER]]: A universal multiplier that implements the multiplication in all arithmetic number systems (i.e. unsigned.signed-magnitude, 1's complement and 2's complement) * [[.:patras:FIR]]: An unrolled implementation of an FIR (Finite Impulse Response) filter. The multiplications are implemented using shift-add operations.