[Day02] Basic terminology

Domains A domain in its basic definition, is a grouping of logic cells. If consider a module as a blackbox. With its inputs and outputs, any given output is generated within one and only one domain. Modules come with two domain built in: a combinational domain and a sequential(synchronous) domain.

[Day01] Basic nMigen

Basic structure of modules The tutorial is followed by https://github.com/RobertBaruch/nmigen-tutorial/ Thumbs up for his contributions. 1 2 3 4 5 6 7 8 9 from nmigen import * from nmigen.build import Platform class ThingBlock(Elaboratable): def __init__(self): pass def elaborate(self, platform: Platform) -> Module: m = Module() return m Elaborating a module 1 2 3 4 5 6 7 8 9 10 11 from nmigen.

[Day00] nMigen 戰鬥

第一天接觸nMigen, 先來安裝 nMigen! 安裝Prerequisites sudo apt-get install build-essential clang bison flex libreadline-dev \ gawk tcl-dev libffi-dev git mercurial graphviz \ xdot pkg-config python python3 libftdi-dev gperf \ libboost-program-options-dev autoconf libgmp-dev \ cmake 安裝有的沒的必備程式 參考 https://symbiyosys.readthedocs.io/en/latest/install.html 安裝nMigen pip install git+https://github.com/m-labs/nmigen.git pip install git+https://github.com/m-labs/nmigen-boards.git 安裝之後就可以開始學習如何使用nMigen製作電路

Hello World

Test a text function test(){ console.log("Hello world!"); }