parent
9ac1b31965
commit
05e2441d24
|
@ -19,20 +19,20 @@
|
||||||
// tinyriscv soc顶层模块
|
// tinyriscv soc顶层模块
|
||||||
module tinyriscv_soc_top(
|
module tinyriscv_soc_top(
|
||||||
|
|
||||||
input wire clk,
|
input wire clk, // 时钟引脚
|
||||||
input wire rst_ext_ni,
|
input wire rst_ext_ni, // 复位引脚,低电平有效
|
||||||
|
|
||||||
output wire halted_ind, // jtag是否已经halt住CPU信号
|
output wire halted_ind_pin, // jtag是否已经halt住CPU,高电平有效
|
||||||
|
|
||||||
output wire uart_tx_pin, // UART发送引脚
|
output wire uart_tx_pin, // UART发送引脚
|
||||||
input wire uart_rx_pin, // UART接收引脚
|
input wire uart_rx_pin, // UART接收引脚
|
||||||
|
|
||||||
inout wire[1:0] gpio, // GPIO引脚
|
inout wire[1:0] gpio_pins, // GPIO引脚,1bit代表一个GPIO
|
||||||
|
|
||||||
input wire jtag_TCK, // JTAG TCK引脚
|
input wire jtag_TCK_pin, // JTAG TCK引脚
|
||||||
input wire jtag_TMS, // JTAG TMS引脚
|
input wire jtag_TMS_pin, // JTAG TMS引脚
|
||||||
input wire jtag_TDI, // JTAG TDI引脚
|
input wire jtag_TDI_pin, // JTAG TDI引脚
|
||||||
output wire jtag_TDO // JTAG TDO引脚
|
output wire jtag_TDO_pin // JTAG TDO引脚
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -69,6 +69,15 @@ module tinyriscv_soc_top(
|
||||||
wire [31:0] slave_addr_mask [SLAVES];
|
wire [31:0] slave_addr_mask [SLAVES];
|
||||||
wire [31:0] slave_addr_base [SLAVES];
|
wire [31:0] slave_addr_base [SLAVES];
|
||||||
|
|
||||||
|
`ifdef VERILATOR
|
||||||
|
wire sim_jtag_tck;
|
||||||
|
wire sim_jtag_tms;
|
||||||
|
wire sim_jtag_tdi;
|
||||||
|
wire sim_jtag_trstn;
|
||||||
|
wire sim_jtag_tdo;
|
||||||
|
wire [31:0] sim_jtag_exit;
|
||||||
|
`endif
|
||||||
|
|
||||||
wire ndmreset;
|
wire ndmreset;
|
||||||
wire ndmreset_n;
|
wire ndmreset_n;
|
||||||
|
|
||||||
|
@ -174,4 +183,31 @@ module tinyriscv_soc_top(
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
`ifdef VERILATOR
|
||||||
|
sim_jtag #(
|
||||||
|
.TICK_DELAY(1),
|
||||||
|
.PORT(9999)
|
||||||
|
) u_sim_jtag (
|
||||||
|
.clock ( clk ),
|
||||||
|
.reset ( ~rst_ext_ni ),
|
||||||
|
.enable ( 1'b0 ),
|
||||||
|
.init_done ( rst_ext_ni ),
|
||||||
|
.jtag_TCK ( sim_jtag_tck ),
|
||||||
|
.jtag_TMS ( sim_jtag_tms ),
|
||||||
|
.jtag_TDI ( sim_jtag_tdi ),
|
||||||
|
.jtag_TRSTn ( sim_jtag_trstn ),
|
||||||
|
.jtag_TDO_data ( sim_jtag_tdo ),
|
||||||
|
.jtag_TDO_driven ( 1'b1 ),
|
||||||
|
.exit ( sim_jtag_exit )
|
||||||
|
);
|
||||||
|
|
||||||
|
always @ (*) begin
|
||||||
|
if (sim_jtag_exit) begin
|
||||||
|
$display("jtag exit...");
|
||||||
|
$finish(2);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
`endif
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|
Loading…
Reference in New Issue