Skip to content

personal-army-of-4o/nyanMigen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What is nyanMigen?

nyanMigen is a python layer between nmigen and a human being. it converts state-of-the-art python subset with card games and senioritas into valid nmigen code.

key features:

  • simplified, less redundant syntax
  • consumes chain description wrapped in a class or a function
  • generates init(), ports(), inputs(), outputs() based on chain description
  • extracts ports from chain description
  • extracts generics from chain descripton and exposes them as init args
  • outputs nmigen code
  • runs nmigen for generated code

Repo actions:

to test: run_test.bash to test with docker images: run_test.bash -d

to install: pip3 install .

to build docker images: cd docker && bash build.bash

shortest hello world ever: blink.py

Repo structure:

  • nyanMigen.py
  • examples/*.py - nyanMigen examples and feature show cases
  • examples/*.nmigen - nmigen code generated from nyanMigen examples
  • examples/*.stat - some hard numbers extracted by nyanMigen
  • run_test.bash - test looper. runs onetest.bash for each .py from examples
  • onetest.bash - runs nyanMigen for one example

Dependencies

based on nmigen project. tested with this commit

Links

nyanMigen discord server