Skip to content

Repository files navigation

How to use with FuseSoC

pip install fusesoc
fusesoc library add logilib https://gitlab.com/jalcim/logilib

See example/ for a complete usage example.


graphical interface ./scripts/manager/manager.py

Description

Logilib is high density and performance logic library developped on a fully structural way. The objective is to provide a stdcell library for yosys, highly parameterizable. In option we provide a POC python (amaranth wrapper) for direct using. Its a piece of a more big environnement with a logilib/libcmos architecture on top of pdk wrapper.

🧮 Tensor Convolution Accelerator

The src/tensor/ directory contains a high-performance 2D convolution accelerator with:

  • Zero latency - 100% combinational logic, no clock cycles
  • Massive parallelism - 729 simultaneous operations for 9×9 images with 3×3 kernels
  • Smart edge handling - Automatic corner/border/center pixel detection
  • Pure structural Verilog - No control logic, just multipliers and adders

See src/tensor/README.md for detailed documentation.

Build

Package as library (for use the library with another circuit)

./script/lib.sh

Synthesis (first stage)

Synthesis of design for provide final verilog/rtlil usable

./script/yosys.sh

Result files are on synth/

Simulation

Build of simulation by running in the root folder

./script/icarus.sh

Result files are on bin/

Synthesis

Build of synthesis by running in the root folder

make synthesis

Co-simulation

Build of co-simulation library by running in the root folder

cmake -S. -Bbuild -GNinja && cmake --build build && ./build/cosim/Vgate-tests

Result files are on build/

Environment

VERILATOR_TIME_INCREMENT

Set time increment on each verilator eval default 1000

VCD_TRACE_ON

Enable generation of vcd trace files

COMPILE_STATIC

If defined compile all libraries as static

LOG_LEVEL

Change log level, allowed values are boost severity levels:

trace debug info warning error fatal

ARITHM_WIRES_LIST

Set list of wire numbers to generate default 1 2 3 4 7 8 16 32 When changing you need to add corresponding macros in gate_macros.h and includes in gate_includes.h

GATES_WAYS_LIST

Set list of wire numbers to generate default 2 3 4 7 8 When changing you need to comment/uncomment corresponding macros in gate_macros.h and includes in gate_includes.h

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages