aboutsummaryrefslogtreecommitdiff
path: root/de1-gui/de1_gui.sv
diff options
context:
space:
mode:
authorgithub-classroom[bot] <66690702+github-classroom[bot]@users.noreply.github.com>2025-09-10 21:59:56 +0000
committerGitHub <noreply@github.com>2025-09-10 21:59:56 +0000
commita186a9a6be2cb0ece7ecf0bcc27e813f5534603d (patch)
treea4cadf53c9e7c47290b54b0446de418a9880e17e /de1-gui/de1_gui.sv
Initial commit
Diffstat (limited to '')
-rw-r--r--de1-gui/de1_gui.sv25
1 files changed, 25 insertions, 0 deletions
diff --git a/de1-gui/de1_gui.sv b/de1-gui/de1_gui.sv
new file mode 100644
index 0000000..3fb607a
--- /dev/null
+++ b/de1-gui/de1_gui.sv
@@ -0,0 +1,25 @@
+module de1_gui(output logic [9:0] SW, output logic [3:0] KEY, input logic [9:0] LEDR, input logic [6:0] HEX5, input logic [6:0] HEX4, input logic [6:0] HEX3, input logic [6:0] HEX2, input logic [6:0] HEX1, input logic [6:0] HEX0);
+ // de1_gui_ifc_* must be synchronized with GUI Tcl
+ logic de1_gui_ifc_key3, de1_gui_ifc_key2, de1_gui_ifc_key1, de1_gui_ifc_key0;
+ logic de1_gui_ifc_sw9, de1_gui_ifc_sw8, de1_gui_ifc_sw7, de1_gui_ifc_sw6, de1_gui_ifc_sw5, de1_gui_ifc_sw4, de1_gui_ifc_sw3, de1_gui_ifc_sw2, de1_gui_ifc_sw1, de1_gui_ifc_sw0;
+ assign SW = {de1_gui_ifc_sw9, de1_gui_ifc_sw8, de1_gui_ifc_sw7, de1_gui_ifc_sw6, de1_gui_ifc_sw5, de1_gui_ifc_sw4, de1_gui_ifc_sw3, de1_gui_ifc_sw2, de1_gui_ifc_sw1, de1_gui_ifc_sw0};
+ assign KEY = {~de1_gui_ifc_key3, ~de1_gui_ifc_key2, ~de1_gui_ifc_key1, ~de1_gui_ifc_key0};
+ generate
+ genvar i;
+ for (i = 0; i < 10; i = i + 1) begin: leds
+ always_comb mti_fli::mti_Command($sformatf("::de1::led_set %d %d", i, LEDR[i]));
+ end: leds
+ endgenerate
+ generate
+ genvar seg;
+ for (seg = 0; seg < 7; seg = seg + 1) begin: hexs
+ always_comb mti_fli::mti_Command($sformatf("::de1::hex_set 0 %d %d", seg, ~HEX0[seg]));
+ always_comb mti_fli::mti_Command($sformatf("::de1::hex_set 1 %d %d", seg, ~HEX1[seg]));
+ always_comb mti_fli::mti_Command($sformatf("::de1::hex_set 2 %d %d", seg, ~HEX2[seg]));
+ always_comb mti_fli::mti_Command($sformatf("::de1::hex_set 3 %d %d", seg, ~HEX3[seg]));
+ always_comb mti_fli::mti_Command($sformatf("::de1::hex_set 4 %d %d", seg, ~HEX4[seg]));
+ always_comb mti_fli::mti_Command($sformatf("::de1::hex_set 5 %d %d", seg, ~HEX5[seg]));
+ end: hexs
+ endgenerate
+ initial mti_fli::mti_Command("::de1::init");
+endmodule: de1_gui