Line 16... |
Line 16... |
// You should have received a copy of the GNU General Public
|
// You should have received a copy of the GNU General Public
|
// License along with this work; if not, write to the Free Software
|
// License along with this work; if not, write to the Free Software
|
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
|
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
|
//
|
//
|
// ========== Copyright Header End ============================================
|
// ========== Copyright Header End ============================================
|
|
`ifdef SIMPLY_RISC_TWEAKS
|
|
`define SIMPLY_RISC_SCANIN .si(0)
|
|
`else
|
|
`define SIMPLY_RISC_SCANIN .si()
|
|
`endif
|
//FPGA_SYN enables all FPGA related modifications
|
//FPGA_SYN enables all FPGA related modifications
|
|
`ifdef FPGA_SYN
|
|
`define FPGA_SYN_CLK_EN
|
|
`define FPGA_SYN_CLK_DFF
|
|
`endif
|
|
|
module lsu_stb_ctldp (/*AUTOARG*/
|
module lsu_stb_ctldp (/*AUTOARG*/
|
// Outputs
|
// Outputs
|
so, stb_state_si_0, stb_state_si_1, stb_state_si_2,
|
so, stb_state_si_0, stb_state_si_1, stb_state_si_2,
|
stb_state_si_3, stb_state_si_4, stb_state_si_5, stb_state_si_6,
|
stb_state_si_3, stb_state_si_4, stb_state_si_5, stb_state_si_6,
|
Line 74... |
Line 79... |
wire [7:0] stb_clk;
|
wire [7:0] stb_clk;
|
|
|
wire clk;
|
wire clk;
|
assign clk = rclk;
|
assign clk = rclk;
|
|
|
|
`ifdef FPGA_SYN_CLK_EN
|
|
`else
|
|
clken_buf stb0_clkbuf (
|
|
.rclk (clk),
|
|
.enb_l (stb_clk_en_l[0]),
|
|
.tmb_l (~se),
|
|
.clk (stb_clk[0])
|
|
) ;
|
|
`endif
|
|
|
|
`ifdef FPGA_SYN_CLK_EN
|
|
`else
|
|
clken_buf stb1_clkbuf (
|
|
.rclk (clk),
|
|
.enb_l (stb_clk_en_l[1]),
|
|
.tmb_l (~se),
|
|
.clk (stb_clk[1])
|
|
) ;
|
|
`endif
|
|
|
|
`ifdef FPGA_SYN_CLK_EN
|
|
`else
|
|
clken_buf stb2_clkbuf (
|
|
.rclk (clk),
|
|
.enb_l (stb_clk_en_l[2]),
|
|
.tmb_l (~se),
|
|
.clk (stb_clk[2])
|
|
) ;
|
|
`endif
|
|
|
|
`ifdef FPGA_SYN_CLK_EN
|
|
`else
|
|
clken_buf stb3_clkbuf (
|
|
.rclk (clk),
|
|
.enb_l (stb_clk_en_l[3]),
|
|
.tmb_l (~se),
|
|
.clk (stb_clk[3])
|
|
) ;
|
|
`endif
|
|
|
|
`ifdef FPGA_SYN_CLK_EN
|
|
`else
|
|
clken_buf stb4_clkbuf (
|
|
.rclk (clk),
|
|
.enb_l (stb_clk_en_l[4]),
|
|
.tmb_l (~se),
|
|
.clk (stb_clk[4])
|
|
) ;
|
|
`endif
|
|
|
|
`ifdef FPGA_SYN_CLK_EN
|
|
`else
|
|
clken_buf stb5_clkbuf (
|
|
.rclk (clk),
|
|
.enb_l (stb_clk_en_l[5]),
|
|
.tmb_l (~se),
|
|
.clk (stb_clk[5])
|
|
) ;
|
|
`endif
|
|
|
|
`ifdef FPGA_SYN_CLK_EN
|
|
`else
|
|
clken_buf stb6_clkbuf (
|
|
.rclk (clk),
|
|
.enb_l (stb_clk_en_l[6]),
|
|
.tmb_l (~se),
|
|
.clk (stb_clk[6])
|
|
) ;
|
|
`endif
|
|
|
|
`ifdef FPGA_SYN_CLK_EN
|
|
`else
|
|
clken_buf stb7_clkbuf (
|
|
.rclk (clk),
|
|
.enb_l (stb_clk_en_l[7]),
|
|
.tmb_l (~se),
|
|
.clk (stb_clk[7])
|
|
) ;
|
|
`endif
|
|
|
|
|
|
|
|
`ifdef FPGA_SYN_CLK_DFF
|
|
dffe_s #(5) ff_spec_write_0 (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dffe #(5) ff_spec_write_0 (
|
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
lsu_st_rmo_m}),
|
lsu_st_rmo_m}),
|
.q ({stb_state_si_0[3:2], stb_state_rtype_0[2:1],
|
.q ({stb_state_si_0[3:2], stb_state_rtype_0[2:1],
|
stb_state_rmo[0]} ),
|
stb_state_rmo[0]} ),
|
.en (~(stb_clk_en_l[0])), .clk(clk),
|
.en (~(stb_clk_en_l[0])), .clk(clk),
|
.se (se), .si (), .so ()
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
);
|
);
|
|
`else
|
|
dff_s #(5) ff_spec_write_0 (
|
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
|
lsu_st_rmo_m}),
|
|
.q ({stb_state_si_0[3:2], stb_state_rtype_0[2:1],
|
|
stb_state_rmo[0]} ),
|
|
.clk (stb_clk[0]),
|
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
|
);
|
|
`endif
|
|
|
|
`ifdef FPGA_SYN_CLK_DFF
|
|
dffe_s #(5) ff_spec_write_1 (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dffe #(5) ff_spec_write_1 (
|
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
lsu_st_rmo_m}),
|
lsu_st_rmo_m}),
|
.q ({stb_state_si_1[3:2], stb_state_rtype_1[2:1],
|
.q ({stb_state_si_1[3:2], stb_state_rtype_1[2:1],
|
stb_state_rmo[1]} ),
|
stb_state_rmo[1]} ),
|
.en (~(stb_clk_en_l[1])), .clk(clk),
|
.en (~(stb_clk_en_l[1])), .clk(clk),
|
.se (se), .si (), .so ()
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
);
|
);
|
|
`else
|
|
dff_s #(5) ff_spec_write_1 (
|
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
|
lsu_st_rmo_m}),
|
|
.q ({stb_state_si_1[3:2], stb_state_rtype_1[2:1],
|
|
stb_state_rmo[1]} ),
|
|
.clk (stb_clk[1]),
|
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
|
);
|
|
`endif
|
|
|
|
`ifdef FPGA_SYN_CLK_DFF
|
|
dffe_s #(5) ff_spec_write_2 (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dffe #(5) ff_spec_write_2 (
|
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
lsu_st_rmo_m}),
|
lsu_st_rmo_m}),
|
.q ({stb_state_si_2[3:2], stb_state_rtype_2[2:1],
|
.q ({stb_state_si_2[3:2], stb_state_rtype_2[2:1],
|
stb_state_rmo[2]} ),
|
stb_state_rmo[2]} ),
|
.en (~(stb_clk_en_l[2])), .clk(clk),
|
.en (~(stb_clk_en_l[2])), .clk(clk),
|
.se (se), .si (), .so ()
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
);
|
);
|
|
`else
|
|
dff_s #(5) ff_spec_write_2 (
|
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
|
lsu_st_rmo_m}),
|
|
.q ({stb_state_si_2[3:2], stb_state_rtype_2[2:1],
|
|
stb_state_rmo[2]} ),
|
|
.clk (stb_clk[2]),
|
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
|
);
|
|
`endif
|
|
`ifdef FPGA_SYN_CLK_DFF
|
dffe #(5) ff_spec_write_3 (
|
dffe_s #(5) ff_spec_write_3 (
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
lsu_st_rmo_m}),
|
lsu_st_rmo_m}),
|
.q ({stb_state_si_3[3:2], stb_state_rtype_3[2:1],
|
.q ({stb_state_si_3[3:2], stb_state_rtype_3[2:1],
|
stb_state_rmo[3]} ),
|
stb_state_rmo[3]} ),
|
.en (~(stb_clk_en_l[3])), .clk(clk),
|
.en (~(stb_clk_en_l[3])), .clk(clk),
|
.se (se), .si (), .so ()
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
);
|
);
|
|
`else
|
|
dff_s #(5) ff_spec_write_3 (
|
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
|
lsu_st_rmo_m}),
|
|
.q ({stb_state_si_3[3:2], stb_state_rtype_3[2:1],
|
|
stb_state_rmo[3]} ),
|
|
.clk (stb_clk[3]),
|
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
|
);
|
|
`endif
|
|
`ifdef FPGA_SYN_CLK_DFF
|
dffe #(5) ff_spec_write_4 (
|
dffe_s #(5) ff_spec_write_4 (
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
lsu_st_rmo_m}),
|
lsu_st_rmo_m}),
|
.q ({stb_state_si_4[3:2], stb_state_rtype_4[2:1],
|
.q ({stb_state_si_4[3:2], stb_state_rtype_4[2:1],
|
stb_state_rmo[4]} ),
|
stb_state_rmo[4]} ),
|
.en (~(stb_clk_en_l[4])), .clk(clk),
|
.en (~(stb_clk_en_l[4])), .clk(clk),
|
.se (se), .si (), .so ()
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
);
|
);
|
|
`else
|
|
dff_s #(5) ff_spec_write_4 (
|
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
|
lsu_st_rmo_m}),
|
|
.q ({stb_state_si_4[3:2], stb_state_rtype_4[2:1],
|
|
stb_state_rmo[4]} ),
|
|
.clk (stb_clk[4]),
|
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
|
);
|
|
`endif
|
|
`ifdef FPGA_SYN_CLK_DFF
|
dffe #(5) ff_spec_write_5 (
|
dffe_s #(5) ff_spec_write_5 (
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
lsu_st_rmo_m}),
|
lsu_st_rmo_m}),
|
.q ({stb_state_si_5[3:2], stb_state_rtype_5[2:1],
|
.q ({stb_state_si_5[3:2], stb_state_rtype_5[2:1],
|
stb_state_rmo[5]} ),
|
stb_state_rmo[5]} ),
|
.en (~(stb_clk_en_l[5])), .clk(clk),
|
.en (~(stb_clk_en_l[5])), .clk(clk),
|
.se (se), .si (), .so ()
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
);
|
);
|
|
`else
|
|
dff_s #(5) ff_spec_write_5 (
|
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
|
lsu_st_rmo_m}),
|
|
.q ({stb_state_si_5[3:2], stb_state_rtype_5[2:1],
|
|
stb_state_rmo[5]} ),
|
|
.clk (stb_clk[5]),
|
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
|
);
|
|
`endif
|
|
`ifdef FPGA_SYN_CLK_DFF
|
dffe #(5) ff_spec_write_6 (
|
dffe_s #(5) ff_spec_write_6 (
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
lsu_st_rmo_m}),
|
lsu_st_rmo_m}),
|
.q ({stb_state_si_6[3:2], stb_state_rtype_6[2:1],
|
.q ({stb_state_si_6[3:2], stb_state_rtype_6[2:1],
|
stb_state_rmo[6]} ),
|
stb_state_rmo[6]} ),
|
.en (~(stb_clk_en_l[6])), .clk(clk),
|
.en (~(stb_clk_en_l[6])), .clk(clk),
|
.se (se), .si (), .so ()
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
);
|
);
|
|
`else
|
|
dff_s #(5) ff_spec_write_6 (
|
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
|
lsu_st_rmo_m}),
|
|
.q ({stb_state_si_6[3:2], stb_state_rtype_6[2:1],
|
|
stb_state_rmo[6]} ),
|
|
.clk (stb_clk[6]),
|
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
|
);
|
|
`endif
|
|
|
|
`ifdef FPGA_SYN_CLK_DFF
|
|
dffe_s #(5) ff_spec_write_7 (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dffe #(5) ff_spec_write_7 (
|
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
lsu_st_rmo_m}),
|
lsu_st_rmo_m}),
|
.q ({stb_state_si_7[3:2], stb_state_rtype_7[2:1],
|
.q ({stb_state_si_7[3:2], stb_state_rtype_7[2:1],
|
stb_state_rmo[7]} ),
|
stb_state_rmo[7]} ),
|
.en (~(stb_clk_en_l[7])), .clk(clk),
|
.en (~(stb_clk_en_l[7])), .clk(clk),
|
.se (se), .si (), .so ()
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
);
|
);
|
|
`else
|
|
dff_s #(5) ff_spec_write_7 (
|
|
.din ({lsu_stb_va_m[7:6], lsu_st_rq_type_m[2:1],
|
|
lsu_st_rmo_m}),
|
|
.q ({stb_state_si_7[3:2], stb_state_rtype_7[2:1],
|
|
stb_state_rmo[7]} ),
|
|
.clk (stb_clk[7]),
|
|
.se (se), `SIMPLY_RISC_SCANIN, .so ()
|
|
);
|
|
`endif
|
|
|
|
|
endmodule // lsu_stb_ctldp
|
endmodule // lsu_stb_ctldp
|
|
|
No newline at end of file
|
No newline at end of file
|