Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Mips related compoennts, change wire ui, new UI helpers, new misc compoents #87

Merged
merged 142 commits into from
Oct 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
71fabd3
full adder does not work
salon64 Jul 4, 2024
1960e72
issue resolved
salon64 Jul 4, 2024
efa9a00
now supports sub and ProbeEdit
salon64 Jul 5, 2024
6a939c4
made into not working alu
salon64 Jul 8, 2024
10f3c6c
added all functionality of alu except NOOP
salon64 Jul 8, 2024
1ab6c61
added pc+4 component
salon64 Jul 8, 2024
39fa17f
added function autowire, TODO get position argument for component the…
salon64 Jul 16, 2024
3f2120d
now full functioning autowire, ps dont make your own wires :)
salon64 Jul 17, 2024
ffe07f3
control unit, need fixed input
salon64 Jul 23, 2024
35a3031
added example for mips mux implementation
salon64 Jul 24, 2024
428ed43
olle fixar errors snart :)
salon64 Jul 25, 2024
ff1e9d0
update probe to try parse as unsigned if signed parse failes
Spooky-Firefox Jul 25, 2024
b4f208c
work in progress cu
salon64 Jul 25, 2024
a718593
updated full adder
Spooky-Firefox Jul 26, 2024
a7b6f40
olle tmp work
Spooky-Firefox Jul 28, 2024
45aa627
0 progress
salon64 Jul 26, 2024
e193622
started work on reg file, missing how to carry over state
salon64 Jul 26, 2024
37d651e
added more ui stuff
Spooky-Firefox Jul 10, 2024
b97d7ee
added testing reg_file and template for im
salon64 Jul 30, 2024
071287c
added code to help test persisting error related missing field out
salon64 Jul 30, 2024
e7921ba
added component signal splitter
salon64 Aug 1, 2024
fa14e73
clarified addresses for interaction with split component
salon64 Aug 1, 2024
d05861b
added component to calc jump addr
salon64 Aug 1, 2024
ef9dc31
added gui and example for jump merge
salon64 Aug 2, 2024
cd4736e
fixed tests on full adder
Spooky-Firefox Aug 2, 2024
d56215c
updated control unit to support a majority of operations and added tests
Spooky-Firefox Aug 2, 2024
0166581
updated control unit example
Spooky-Firefox Aug 5, 2024
1a5f6a8
added component for branch logic
salon64 Aug 5, 2024
bbb73de
Merge branch 'mips_components' of https://github.com/Spooky-Firefox/s…
salon64 Aug 5, 2024
a368567
fixed warnings
salon64 Aug 5, 2024
9e05022
updated autowire func and moved it to separete file
salon64 Aug 5, 2024
7f8810e
started working first mips version
salon64 Aug 5, 2024
3bd4b37
changed code to provide error message
salon64 Aug 5, 2024
2b3ba5b
changed names of labels etc
salon64 Aug 5, 2024
70605d5
add component to sing/zero extend depending on ctrl
salon64 Aug 6, 2024
f816a8b
fixed code errors
salon64 Aug 6, 2024
11d9e7f
made component and
salon64 Aug 7, 2024
fc981e3
fixed warining
salon64 Aug 7, 2024
3755fe0
added component to shift left by a const
salon64 Aug 7, 2024
a05e8a4
Updated mips regfile with new internals and added UI
Spooky-Firefox Aug 7, 2024
bd41371
Merge branch 'mips_components' of github.com:Spooky-Firefox/syncrim i…
Spooky-Firefox Aug 7, 2024
03dfdb2
added component zero extend, only for gui representation
salon64 Aug 7, 2024
74fc9b7
added gui for branch logic component
salon64 Aug 7, 2024
22e90a0
added first vertion of mips cpu, missing dm and im
salon64 Aug 7, 2024
9c8d286
alu now handles overflow
salon64 Aug 8, 2024
e23a795
Implemented basic gui function and added it to components
Spooky-Firefox Aug 8, 2024
50b3b54
fixed compiling error with code
salon64 Aug 9, 2024
a126503
Merge branch 'mips_components' of https://github.com/Spooky-Firefox/s…
salon64 Aug 9, 2024
4f25ec0
Updated helpers with an use full component gui function
Spooky-Firefox Aug 9, 2024
444ac8d
updated components to sue component gui helper
Spooky-Firefox Aug 9, 2024
b463d5c
added a struct that can read from an elf
Spooky-Firefox Aug 14, 2024
aa0e5e5
added comments to memory implementation
Spooky-Firefox Aug 15, 2024
bfe23f1
added component to see if 2 signals are equal
salon64 Aug 16, 2024
f038d1f
Merge branch 'mips_components' of https://github.com/Spooky-Firefox/s…
salon64 Aug 16, 2024
e37488e
Merge branch 'mips_components' of github.com:Spooky-Firefox/syncrim i…
Spooky-Firefox Aug 16, 2024
a927163
added mips_pipe wihtout DM and IM
salon64 Aug 16, 2024
eba7162
updated basic ui helper
Spooky-Firefox Aug 19, 2024
3508916
added function to get register value
Spooky-Firefox Aug 19, 2024
882f44a
Reformated struct and added sections map
Spooky-Firefox Aug 20, 2024
fee62e0
updated regfile to have sp at 0x8000_0000 as default
Spooky-Firefox Aug 20, 2024
375c197
if size is zero, let component take as much space as needed
Spooky-Firefox Aug 20, 2024
2691b14
FIX added missing elf import
Spooky-Firefox Aug 20, 2024
ee6fee0
FIX made mem struct visible
Spooky-Firefox Aug 20, 2024
a2c3a7f
Added mips_mem_view_window
Spooky-Firefox Aug 20, 2024
a54318a
added mips IM and example file
Spooky-Firefox Aug 20, 2024
5b5f5fd
updated mem_view_window to assume data is at 0x1000 if .data is not …
Spooky-Firefox Aug 21, 2024
1580dad
added mips data memory
Spooky-Firefox Aug 21, 2024
a585ef9
updated control unit to take care of data op /mem_mode
Spooky-Firefox Aug 21, 2024
346f2b1
fixed wrong constants and use of magic values
Spooky-Firefox Aug 21, 2024
477df07
added IM and dm to mips example
Spooky-Firefox Aug 21, 2024
2b4d4cb
Fixed, write address skipped reg, switched rs rt for alu_src. order o…
Spooky-Firefox Aug 21, 2024
3b85eb4
fix: rt instead of rs, wrong MemOpSize, jump merge logic
Spooky-Firefox Aug 28, 2024
ca73f74
moved components in mips example
Spooky-Firefox Aug 28, 2024
4734d8b
updated ui stuff to deal with scaling
Spooky-Firefox Aug 28, 2024
d59d24f
Merge branch 'new_mips_mem' into mips_components
Spooky-Firefox Aug 28, 2024
0f4c1d3
added breakpoints to DM
Spooky-Firefox Aug 28, 2024
d87dc3d
tmp working
salon64 Aug 30, 2024
e488621
idk
salon64 Aug 30, 2024
d559026
Revert "idk"
salon64 Aug 30, 2024
8c9fd1e
changed out IDs for components to be unique
salon64 Aug 30, 2024
6d95bf7
updated wire hover to work with slanted lines
Spooky-Firefox Aug 30, 2024
aebde00
Merge branch 'mips_components' of github.com:Spooky-Firefox/syncrim i…
Spooky-Firefox Aug 30, 2024
51520f7
wip
salon64 Aug 30, 2024
a13d8bf
Merge branch 'mips_components' of https://github.com/Spooky-Firefox/s…
salon64 Aug 30, 2024
cdd60ac
optimized math
Spooky-Firefox Aug 31, 2024
607f0a3
updated to use new version of MIPS_disassembly crate
Spooky-Firefox Aug 31, 2024
e3f8c7c
Merge branch 'mips_components' of github.com:Spooky-Firefox/syncrim i…
Spooky-Firefox Aug 31, 2024
5066ee1
cheged sices and mede mips presentable
salon64 Aug 31, 2024
464cb3a
added reset and un_clock to data mem
Spooky-Firefox Sep 2, 2024
9e7f783
Merge branch 'mips_components' of github.com:Spooky-Firefox/syncrim i…
Spooky-Firefox Sep 2, 2024
7460c9d
example move components
onsdagens Sep 2, 2024
c5ca412
moved more components to mips-lib
Spooky-Firefox Sep 3, 2024
71543fb
fixed vscode rust analyzer example
Spooky-Firefox Sep 3, 2024
57e8cca
removed unused imports
salon64 Sep 3, 2024
642197f
resolved problems
salon64 Sep 3, 2024
9f06a83
resolved problems
salon64 Sep 3, 2024
825b447
moved mips examples
Spooky-Firefox Sep 3, 2024
5bc7f80
Merge branch 'mips_components' of github.com:Spooky-Firefox/syncrim i…
Spooky-Firefox Sep 3, 2024
bff4214
clippy
Spooky-Firefox Sep 3, 2024
1eb8005
fixed spelling and added word to cspell ignore
Spooky-Firefox Sep 3, 2024
80c3899
more spelling fixes
Spooky-Firefox Sep 3, 2024
965ec3f
wip
salon64 Sep 3, 2024
fcce2c3
Merge branch 'mips_components' of https://github.com/Spooky-Firefox/s…
salon64 Sep 3, 2024
987f208
updated get_port_locaton to use option
salon64 Sep 4, 2024
217e25c
updated aoutowire to use port location, register as an example
salon64 Sep 4, 2024
5ee9184
added get port location to alu and reg file
Spooky-Firefox Sep 4, 2024
0d28c26
better error message for editor
Spooky-Firefox Sep 4, 2024
8c11295
updated memory to use id to a phys mem component
Spooky-Firefox Sep 5, 2024
47fd0da
updated to use another method to allow mem_view to se registers
Spooky-Firefox Sep 5, 2024
046b8da
propagate response from wire
Spooky-Firefox Sep 5, 2024
2f719d6
Merge commit '47fd0daf27186cff5c9a90a3f2101a4f2c727d85' into mips_com…
Spooky-Firefox Sep 5, 2024
4de6fc1
updated add and mux to have scale variable
Spooky-Firefox Sep 7, 2024
1efa585
fixed overflow bug
salon64 Sep 9, 2024
1948732
worked on organizing wires
Spooky-Firefox Sep 9, 2024
784e34e
Merge branch 'mips_components' of github.com:Spooky-Firefox/syncrim i…
Spooky-Firefox Sep 9, 2024
5d7f01a
fix riscv model
onsdagens Sep 9, 2024
62c3164
contued work on aligning wires
Spooky-Firefox Sep 9, 2024
1e5b1dc
Wires stuff
Spooky-Firefox Sep 9, 2024
62e460a
Merge branch 'mips_components' of github.com:Spooky-Firefox/syncrim i…
Spooky-Firefox Sep 9, 2024
dd13b9d
added color to wire, pretty json
Spooky-Firefox Sep 10, 2024
622e72b
nice wires
Spooky-Firefox Sep 11, 2024
afe459e
FIX go_to_type defaulted to none, now defaults to top
Spooky-Firefox Sep 11, 2024
d079e32
git fixed wrong order of shift in alu, and made other shifts panic re…
Spooky-Firefox Sep 12, 2024
6b8b77a
moved mips simple to an example of mips-lib and json file
Spooky-Firefox Sep 12, 2024
e8c6853
fixed names of functions and files
salon64 Sep 12, 2024
2cd1379
fixed names of functions and files
salon64 Sep 12, 2024
e5ea71e
update mips_single_cycle file with the name changes to components
Spooky-Firefox Sep 13, 2024
fb1daf1
made load reset simulator
Spooky-Firefox Sep 13, 2024
1fd9019
updated wire hover to only show hover once, and be bold when hovered
Spooky-Firefox Sep 16, 2024
9c22632
Merge remote-tracking branch 'per/master' into mips_components
Spooky-Firefox Sep 16, 2024
121199e
made autowire dependent on egui feature
Spooky-Firefox Sep 26, 2024
90192d9
fix conditional compile
Spooky-Firefox Sep 26, 2024
af1bf76
Final cfg fix hopefully
Spooky-Firefox Sep 26, 2024
94fefb0
final final cfg fix
Spooky-Firefox Sep 26, 2024
2076e1b
final?
Spooky-Firefox Sep 30, 2024
a6f002e
I want to be able to run github actions locally instead of pushing ea…
Spooky-Firefox Sep 30, 2024
1dad0a3
fixed test error
Spooky-Firefox Sep 30, 2024
10e4fec
clippy + rust_doc fix
Spooky-Firefox Sep 30, 2024
d19ff00
update default file to mips single cycle
Spooky-Firefox Oct 2, 2024
3c77dbf
clippy
Spooky-Firefox Oct 2, 2024
29d9553
removed commented out code
Spooky-Firefox Oct 3, 2024
1fadfac
removed unnecessary clk components
Spooky-Firefox Oct 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 39 additions & 5 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
{
"json.schemaDownload.enable": true,
"rust-analyzer.linkedProjects": [
"./mips/Cargo.toml",
"./Cargo.toml",
".\\mips\\Cargo.toml"
"./mips-lib/Cargo.toml",
// "./Cargo.toml",
],
"cSpell.ignoreWords": [
"Clippy",
Expand Down Expand Up @@ -63,12 +62,47 @@
"usize",
"vizia",
"winit",
"xffff"
"xffff",
"ADDU",
"autowire",
"BGEZ",
"BGEZAL",
"BGTZ",
"BLEZ",
"BLTZAL",
"cntr",
"funct",
"hline",
"instrs",
"memref",
"MIPSCLK",
"muxes",
"NOTYPE",
"shamt",
"signzero",
"SIGNZEROEXTEND",
"SLLV",
"SLTI",
"SLTIU",
"SLTU",
"SRAV",
"SRLV",
"strtab",
"SUBU",
"symtype",
"syncsim",
"SYSCALL",
"vline",
"winapi",
"winuser",
"XORI",
"ZEROEXTEND"
],
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer",
"editor.formatOnSave": true
}
},

//,
// "rust-analyzer.cargo.unsetTest": [
// "syncrim"
Expand Down
4 changes: 3 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[workspace]
members = ["mips", "riscv"]
members = [ "mips-lib", "riscv"]

[dependencies]
MIPS_disassembly = "0.1.2"
anyhow = "1.0.72"
clap = { version = "4.3.15", features = ["derive"] }
elf = "0.7.4"
fern = "0.6.2"
log = "0.4.19"
num_enum = "0.6.1"
Expand Down
33 changes: 33 additions & 0 deletions examples/and.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
use std::path::PathBuf;
#[cfg(feature = "gui-egui")]
use syncrim::gui_egui::editor::Library;
use syncrim::{
common::{ComponentStore, Input},
components::*,
fern::fern_setup,
};
fn main() {
fern_setup();
let cs = ComponentStore {
store: vec![
ProbeEdit::rc_new("A", (100.0, 100.0)),
ProbeEdit::rc_new("B", (100.0, 140.0)),
And::rc_new(
"and",
(150.0, 120.0),
Input::new("A", PROBE_EDIT_OUT_ID),
Input::new("B", PROBE_EDIT_OUT_ID),
),
Probe::rc_new("probe", (250.0, 100.0), Input::new("and", AND_OUT_ID)),
],
};

let path = PathBuf::from("and.json");
cs.save_file(&path);

#[cfg(feature = "gui-egui")]
syncrim::gui_egui::gui(cs, &path, Library::default()).ok();

#[cfg(feature = "gui-vizia")]
syncrim::gui_vizia::gui(cs, &path);
}
39 changes: 39 additions & 0 deletions examples/mips_mux.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
use std::path::PathBuf;
#[cfg(feature = "gui-egui")]
use syncrim::gui_egui::editor::Library;
use syncrim::{
common::{ComponentStore, Input},
components::*,
fern::fern_setup,
};
fn main() {
fern_setup();
let cs = ComponentStore {
store: vec![
Mux::rc_new(
"mux",
(200.0, 200.0),
Input::new("ctrl", "out"),
vec![Input::new("c0", "out"), Input::new("c1", "out")],
),
ProbeEdit::rc_new("ctrl", (190.0, 100.0)),
Wire::rc_new(
"w0",
vec![(190.0, 110.0), (190.0, 150.0)],
Input::new("ctrl", "out"),
),
Constant::rc_new("c0", (140.0, 170.0), 0),
Constant::rc_new("c1", (140.0, 190.0), 1),
Probe::rc_new("p_mux", (260.0, 200.0), Input::new("mux", "out")),
],
};

let path = PathBuf::from("mux_edit.json");
cs.save_file(&path);

#[cfg(feature = "gui-egui")]
syncrim::gui_egui::gui(cs, &path, Library::default()).ok();

#[cfg(feature = "gui-vizia")]
syncrim::gui_vizia::gui(cs, &path);
}
30 changes: 30 additions & 0 deletions mips-lib/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
[package]
name = "mips-lib"
version = "0.1.0"
edition = "2021"

[dependencies]
MIPS_disassembly = "0.1.2"
anyhow = "1.0.72"
clap = { version = "4.3.15", features = ["derive"] }
elf = "0.7.4"
fern = "0.6.2"
log = "0.4.19"
num_enum = "0.6.1"
petgraph = "0.6.3"
rfd = "0.11.4"
serde = { version = "1.0.171", features = ["rc"] }
serde_derive = "1.0.171"
serde_json = "1.0.103"
typetag = "0.2.10"
egui = {version = "0.28.0"}
[dependencies.syncrim]
path = "../"
default-features = false

[features]
default = ["gui-egui"]

components = ["syncrim/components"]
gui-vizia = ["syncrim/gui-vizia"]
gui-egui = ["syncrim/gui-egui"]
46 changes: 46 additions & 0 deletions mips-lib/examples/mips_alu.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
use mips_lib::components::*;
use std::path::PathBuf;
#[cfg(feature = "gui-egui")]
use syncrim::gui_egui::editor::Library;
use syncrim::{
common::{ComponentStore, Input},
components::*,
fern::fern_setup,
};

fn main() {
fern_setup();
let cs = ComponentStore {
store: vec![
ALU::rc_new(
"full_adder",
(200.0, 120.0),
Input::new("c0", "out"),
Input::new("c1", "out"),
Input::new("c2", "out"),
),
ProbeEdit::rc_new("c0", (60.0, 100.0)),
ProbeEdit::rc_new("c1", (60.0, 140.0)),
ProbeEdit::rc_new("c2", (60.0, 180.0)),
Probe::rc_new(
"p1",
(270.0, 120.0),
Input::new("full_adder", FULL_ADD_OUT_ID),
),
],
};

let path = PathBuf::from("alu.json");
cs.save_file(&path);

#[cfg(feature = "gui-egui")]
{
use syncrim::autowire::autowire;
let cs = autowire(cs);
cs.save_file(&path);
syncrim::gui_egui::gui(cs, &path, Library::default()).ok();
}

#[cfg(feature = "gui-vizia")]
syncrim::gui_vizia::gui(cs, &path);
}
78 changes: 78 additions & 0 deletions mips-lib/examples/mips_controll_unit.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
use mips_lib::components::*;
use std::path::PathBuf;
use std::rc::Rc;
#[cfg(feature = "gui-egui")]
use syncrim::gui_egui::editor::Library;
use syncrim::{
common::{ComponentStore, Input},
components::*,
fern::fern_setup,
};

fn main() {
fern_setup();
let cs = ComponentStore {
store: vec![
Rc::new(ProbeEdit::new("instr", (100.0, 10.0))),
ControlUnit::rc_new("cntr", (200.0, 10.0), Input::new("instr", "out")),
Probe::rc_new(
"reg_dest",
(300.0, 10.0),
Input::new("cntr", cntr_field::REG_DEST_OUT),
),
Probe::rc_new(
"reg_write",
(300.0, 30.0),
Input::new("cntr", cntr_field::REG_WRITE_ENABLE_OUT),
),
Probe::rc_new(
"reg_write_src",
(300.0, 50.0),
Input::new("cntr", cntr_field::REG_WRITE_SRC_OUT),
),
Probe::rc_new(
"alu_op",
(300.0, 70.0),
Input::new("cntr", cntr_field::ALU_OP_OUT),
),
Probe::rc_new(
"alu_src_a",
(300.0, 90.0),
Input::new("cntr", cntr_field::ALU_SRC_A_OUT),
),
Probe::rc_new(
"alu_src_b",
(300.0, 110.0),
Input::new("cntr", cntr_field::ALU_SRC_B_OUT),
),
Probe::rc_new(
"extend_select",
(300.0, 130.0),
Input::new("cntr", cntr_field::EXTEND_SELECT_OUT),
),
Probe::rc_new(
"mem_write",
(300.0, 150.0),
Input::new("cntr", cntr_field::MEM_WRITE_ENABLE_OUT),
),
Probe::rc_new(
"branch_interrupt",
(300.0, 170.0),
Input::new("cntr", cntr_field::BRANCH_INTERRUPT_OUT),
),
],
};
let path = PathBuf::from("cntr_unit.json");
cs.save_file(&path);

#[cfg(feature = "gui-egui")]
{
use syncrim::autowire::autowire;
let cs = autowire(cs);
cs.save_file(&path);
syncrim::gui_egui::gui(cs, &path, Library::default()).ok();
}

#[cfg(feature = "gui-vizia")]
syncrim::gui_vizia::gui(cs, &path);
}
75 changes: 75 additions & 0 deletions mips-lib/examples/mips_im_dm_regfile.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
use mips_lib::components::*;
use std::path::PathBuf;
use std::rc::Rc;
#[cfg(feature = "gui-egui")]
use syncrim::gui_egui::editor::Library;
use syncrim::{
common::{ComponentStore, Input},
components::*,
fern::fern_setup,
};

fn main() {
fern_setup();

let cs = ComponentStore {
store: vec![
Rc::new(PhysicalMem::new("phys_mem", (0.0, 0.0))),
ProbeEdit::rc_new("rs_addr", (60.0, 100.0)),
ProbeEdit::rc_new("rt_addr", (60.0, 140.0)),
ProbeEdit::rc_new("write_addr", (60.0, 180.0)),
ProbeEdit::rc_new("write_data", (60.0, 220.0)),
ProbeEdit::rc_new("write_enable", (60.0, 260.0)),
Probe::rc_new(
"rs",
(300.0, 120.0),
Input::new("reg_file", reg_file_fields::RS_VALUE_OUT_ID),
),
Probe::rc_new(
"rt",
(60.0, 400.0),
Input::new("reg_file", reg_file_fields::RT_VALUE_OUT_ID),
),
ProbeEdit::rc_new("pc", (60.0, 500.0)),
Rc::new(InstrMem::new(
"instr_mem".into(),
(200.0, 500.0),
Input::new("pc", "out"),
"phys_mem".into(),
"reg_file".into(),
)),
ProbeEdit::rc_new("data_adrs", (60.0, 660.0)),
ProbeEdit::rc_new("data_write_enable", (60.0, 700.0)),
ProbeEdit::rc_new("data_mem_op", (60.0, 740.0)),
ProbeEdit::rc_new("data_write_data", (60.0, 780.0)),
Rc::new(DataMem::new(
"data_mem".into(),
(200.0, 700.0),
Input::new("data_adrs", "out"),
Input::new("data_write_data", "out"),
Input::new("data_mem_op", "out"),
Input::new("data_write_enable", "out"),
"phys_mem".into(),
"reg_file".into(),
)),
RegFile::rc_new(
"reg_file",
(200.0, 200.0),
Input::new("rs_addr", "out"),
Input::new("rt_addr", "out"),
Input::new("write_addr", "out"),
Input::new("write_data", "out"),
Input::new("write_enable", "out"),
),
],
};

let path = PathBuf::from("add.json");
cs.save_file(&path);

#[cfg(feature = "gui-egui")]
syncrim::gui_egui::gui(cs, &path, Library::default()).ok();

#[cfg(feature = "gui-vizia")]
syncrim::gui_vizia::gui(cs, &path);
}
Loading
Loading