diff options
Diffstat (limited to 'rtl')
| -rw-r--r-- | rtl/debounce.sv | 5 | ||||
| -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.sv | 28 |
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), |
