prjtrellis VS prince

Compare prjtrellis vs prince and see what are their differences.

prjtrellis

Documenting the Lattice ECP5 bit-stream format. (by YosysHQ)

prince

The Prince lightweight block cipher in Verilog. (by secworks)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
prjtrellis prince
5 1
381 7
0.0% -
8.5 3.5
3 months ago 4 months ago
Python Verilog
GNU General Public License v3.0 or later BSD 2-clause "Simplified" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

prjtrellis

Posts with mentions or reviews of prjtrellis. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-10.

prince

Posts with mentions or reviews of prince. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-10.
  • Learning Verilog and FPGA
    8 projects | news.ycombinator.com | 10 Jan 2023
    I would also recommend to use non-blocking assignments only for register updates, not in any description of combinational logic. It is (IMHO) much easier to read Verilog code with blocking assignments for logic since you basically can read the statements one after the other and mentally think that the RHS on a statement has been updated.

    IF I may point to my own code, the prince cipher core shows how I use non-blocking assignments in a very simple reg update process. The datapath is in a separate, pure combinational process. And the control path is handled by the finite state machine update logic process at the end.

    https://github.com/secworks/prince/blob/master/src/rtl/princ...

    The SystemVerilog always_comb and always_ff type of processes makes the distincion much clearer. But the same strategy holds for Verilog, and IMHO helps out understand the code. And often makes it less complex.

What are some alternatives?

When comparing prjtrellis and prince you can also consider the following projects:

Vulkan-ValidationLayers - Vulkan Validation Layers (VVL)

icestorm - Project IceStorm - Lattice iCE40 FPGAs Bitstream Documentation (Reverse Engineered)

apio - :seedling: Open source ecosystem for open FPGA boards

quickstep - Quickstep project

6502-exp - 6502 Computer FPGA Peripherals

f4pga-arch-defs - FOSS architecture definitions of FPGA hardware useful for doing PnR device generation.

vhdl-tutorial

icestorm - Project IceStorm - Lattice iCE40 FPGAs Bitstream Documentaion (Reverse Engineered)