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}