bitsy_lang/sim/
ext.rs

1use super::*;
2use crate::sim::value::Value;
3
4pub mod monitor;
5pub mod ram;
6pub mod mem;
7pub mod video;
8pub mod riscv_decoder;
9pub mod terminal;
10
11pub type PortId = usize;
12pub type PortName = String;
13
14#[allow(unused_variables)]
15pub trait ExtInstance: std::fmt::Debug {
16    fn incoming_ports(&self) -> Vec<PortName> { vec![] }
17    fn outgoing_ports(&self) -> Vec<PortName> { vec![] }
18    fn update(&mut self, port: &PortName, value: Value) -> Vec<(PortName, Value)>;
19    fn clock(&mut self) -> Vec<(PortName, Value)> { vec![] }
20    fn reset(&mut self) -> Vec<(PortName, Value)> { vec![] }
21}