Coder Social home page Coder Social logo

improve docs about moosic-yosys-plugin HOT 13 CLOSED

coloquinte avatar coloquinte commented on June 15, 2024
improve docs

from moosic-yosys-plugin.

Comments (13)

Coloquinte avatar Coloquinte commented on June 15, 2024 1

Thank you, that was quick!
Good point! It's done for the README. I'll check oss-cad-suite. Would you have an example of adding a plugin to it?

from moosic-yosys-plugin.

Coloquinte avatar Coloquinte commented on June 15, 2024 1

Added the link to oss-cad-suite :)

from moosic-yosys-plugin.

Coloquinte avatar Coloquinte commented on June 15, 2024 1

Hi Matt,
I just pushed a fix, and the command for TinyTapeout is working now :)
I opened a bunch of new issues to track the improvements I want to do in the close future. Don't hesitate to add new ones ;)

from moosic-yosys-plugin.

mattvenn avatar mattvenn commented on June 15, 2024

make and make install works after oss-cad-suite installed

from moosic-yosys-plugin.

mattvenn avatar mattvenn commented on June 15, 2024

If you want to tape out an example on TinyTapeout 04 I will give you a free slot.

from moosic-yosys-plugin.

Coloquinte avatar Coloquinte commented on June 15, 2024

Thank you that's very nice !

from moosic-yosys-plugin.

mattvenn avatar mattvenn commented on June 15, 2024

where's a good place to ask questions about this?
Is it possible to run this before synthesis? I'm thinkng the easiest way to tapeout would be add the logic locking, then write verilog. then run it through openlane.

Trying to run pre synth with this command:

yosys -m moosic-yosys-plugin -p 'read_verilog tt_um_seven_segment_seconds.v ; logic_locking -max-percent 5 -target corruption'

fails with:

2. Executing LOGIC_LOCKING pass.
Running logic locking with 10 test vectors, target 5.0% (0 cells out of 6).
ERROR: Assert `wire && wire->width == 1' failed in /opt/tabby/share/yosys/include/kernel/rtlil.h:1637.

tt_um_seven_segment_seconds can be found here: https://github.com/TinyTapeout/tt04-verilog-demo/blob/main/src/tt_um_seven_segment_seconds.v

from moosic-yosys-plugin.

mattvenn avatar mattvenn commented on June 15, 2024

maybe it's a good idea to include a full demo design with a makefile that runs the logic lock and gets an output
bonus points for a github action that installs oss cad suite, compiles the plugin and runs a test automatically!

(inspiration: https://github.com/TinyTapeout/tt04-verilog-demo/actions/runs/5398183057/workflow)

from moosic-yosys-plugin.

Coloquinte avatar Coloquinte commented on June 15, 2024

Indeed, it's only post-synthesis - I need to improve this error message. Difficult to do locking at the RTL level, since it's more difficult to get a logical model there.
So usually I do synth then logic_locking. I think a verilog export and back to open lane should work?

Asking here on GitHub issues is fine. If you prefer, we can talk by email too :)

from moosic-yosys-plugin.

mattvenn avatar mattvenn commented on June 15, 2024

could you give an example yosys command?

this is failing post synth:

yosys -m moosic-yosys-plugin -p 'read_verilog tt_um_seven_segment_seconds.v decoder.v; synth -top tt_um_seven_segment_seconds; flatten; logic_locking -max-percent 5 -target corruption'

from moosic-yosys-plugin.

Coloquinte avatar Coloquinte commented on June 15, 2024

This is a bug on my part on multi-bit module ports - all my benchmarks have single-bit ones :/ I'll get it fixed ASAP and get back to you once I get tinytapeout modules to work (probably tuesday next week as I'm on vacation until then).

from moosic-yosys-plugin.

mattvenn avatar mattvenn commented on June 15, 2024

from moosic-yosys-plugin.

Coloquinte avatar Coloquinte commented on June 15, 2024

Thank you for the feedback :) It's starting to look a bit robust to actual designs ;)

from moosic-yosys-plugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.