mirror of
https://github.com/powdr-labs/powdr.git
synced 2026-04-20 03:03:25 -04:00
46 lines
1.0 KiB
NASM
46 lines
1.0 KiB
NASM
use my_module::Other as LocalOther;
|
|
|
|
// we can define a module at `./submodule.asm`
|
|
mod submodule;
|
|
|
|
// we can define a module at `./submodule_in_folder/mod.asm`
|
|
mod submodule_in_folder;
|
|
|
|
use submodule::Other as SubmoduleOther;
|
|
use submodule_in_folder::Other as FolderSubmoduleOther;
|
|
|
|
machine Main {
|
|
// use a machine from another module by relative path
|
|
my_module::Other a;
|
|
|
|
// use a machine from another module using a local binding
|
|
LocalOther b;
|
|
|
|
// use a machine from another module defined in a different file
|
|
SubmoduleOther c;
|
|
|
|
// use a machine from another module defined in a different directory
|
|
FolderSubmoduleOther c;
|
|
|
|
reg pc[@pc];
|
|
|
|
instr nothing = a.nothing
|
|
instr also_nothing = b.nothing
|
|
instr still_nothing = c.nothing
|
|
|
|
function main {
|
|
nothing;
|
|
also_nothing;
|
|
still_nothing;
|
|
return;
|
|
}
|
|
}
|
|
|
|
mod my_module {
|
|
machine Other(latch, operation_id) {
|
|
operation nothing<0>;
|
|
|
|
col fixed latch = [1]*;
|
|
col fixed operation_id = [0]*;
|
|
}
|
|
} |