summaryrefslogtreecommitdiff
path: root/rtl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--rtl/debounce.sv5
-rw-r--r--rtl/smp/pe.sv (renamed from rtl/mp/pe.sv)0
-rw-r--r--rtl/smp/smp_ctrl.sv (renamed from rtl/mp/mp_ctrl.sv)13
-rw-r--r--rtl/top/conspiracion.sv28
4 files changed, 17 insertions, 29 deletions
diff --git a/rtl/debounce.sv b/rtl/debounce.sv
index 919588a..434d056 100644
--- a/rtl/debounce.sv
+++ b/rtl/debounce.sv
@@ -2,13 +2,14 @@ module debounce
(
input logic clk,
dirty,
+
output logic clean
);
logic last;
- // 168ms para reloj de 50MHz
- logic[22:0] clean_for;
+ // 671ms para reloj de 50MHz
+ logic[24:0] clean_for;
always @(posedge clk) begin
last <= dirty;
diff --git a/rtl/mp/pe.sv b/rtl/smp/pe.sv
index f50ed2f..f50ed2f 100644
--- a/rtl/mp/pe.sv
+++ b/rtl/smp/pe.sv
diff --git a/rtl/mp/mp_ctrl.sv b/rtl/smp/smp_ctrl.sv
index 362e450..b6123ad 100644
--- a/rtl/mp/mp_ctrl.sv
+++ b/rtl/smp/smp_ctrl.sv
@@ -1,4 +1,4 @@
-module mp_ctrl
+module smp_ctrl
(
input logic clk,
rst_n,
@@ -37,6 +37,17 @@ module mp_ctrl
// No hay addresses
assign write = avl_write;
+ mp_pe #(.IS_BSP(1)) pe_0
+ (
+ .step(step_0),
+ .halt(halt_0),
+ .cpu_halted(cpu_halted_0),
+ .breakpoint(breakpoint_0),
+ .readdata(readdata_0),
+ .writedata(writedata_0),
+ .*
+ );
+
mp_pe pe_1
(
.step(step_1),
diff --git a/rtl/top/conspiracion.sv b/rtl/top/conspiracion.sv
index 54c8b95..9467cd7 100644
--- a/rtl/top/conspiracion.sv
+++ b/rtl/top/conspiracion.sv
@@ -3,13 +3,6 @@ module conspiracion
input wire clk_clk,
input wire rst_n,
- input wire halt,
-`ifdef VERILATOR
- input wire step,
- output wire breakpoint,
-`endif
- output wire cpu_halted,
-
output wire [12:0] memory_mem_a,
output wire [2:0] memory_mem_ba,
output wire memory_mem_ck,
@@ -49,10 +42,9 @@ module conspiracion
output wire [7:0] vga_dac_b
);
- logic button, cpu_halt, reset_reset_n;
+ logic button, reset_reset_n;
`ifdef VERILATOR
- assign cpu_halt = halt;
assign reset_reset_n = rst_n;
assign button = pio_buttons;
`else
@@ -63,13 +55,6 @@ module conspiracion
.clean(reset_reset_n)
);
- debounce halt_debounce
- (
- .clk(cpu_clk),
- .dirty(halt),
- .clean(cpu_halt)
- );
-
debounce button_debounce
(
.clk(clk_clk),
@@ -80,19 +65,10 @@ module conspiracion
platform plat
(
-`ifdef VERILATOR
- .cpu_0_mp_step(step),
- .cpu_0_mp_breakpoint(breakpoint),
-`else
- .cpu_0_mp_step(0),
- .cpu_0_mp_breakpoint(),
-`endif
- .cpu_0_mp_cpu_halt(cpu_halt),
- .cpu_0_mp_cpu_halted(cpu_halted),
.pll_0_reset_reset(0), //TODO: reset controller, algún día
.pio_0_external_connection_export(pio_leds),
.switches_external_connection_export({2'b00, pio_switches}),
- //TODO: glitch rst
+ //FIXME: el glitch de reset
.buttons_external_connection_export({7'b0000000, !button}),
.sys_sdram_pll_0_sdram_clk_clk(vram_wire_clk),
.vga_dac_CLK(vga_dac_clk),