URL
https://opencores.org/ocsvn/versatile_mem_ctrl/versatile_mem_ctrl/trunk
Subversion Repositories versatile_mem_ctrl
Compare Revisions
- This comparison shows the changes necessary to convert path
/versatile_mem_ctrl/trunk/rtl
- from Rev 11 to Rev 13
- ↔ Reverse comparison
Rev 11 → Rev 13
/verilog/ddr_16_defines.v
52,7 → 52,7
`define DLL 1'b0 |
`define TM 1'b0 |
`define CAS 1'b0 |
`define CL 3'b100 |
`define CL 3'b111 |
`define BT 1'b0 |
`define BL 3'b011 |
|
124,6 → 124,14
`define CMD_WRITE 3'b100 |
`define CMD_BT 3'b110 |
|
// AC Operating Specifications and Conditions |
//`define TWR 4'd2 // Write recovery time, tWR/tCLK=15/8=2 (tCLK) |
//`define TRFC 5'd10 // REFRESH-to-ACTIVATE/REFRESH interval (256Mb), tRFC/tCLK=75/8=10 (tCLK) |
//`define TRFC 5'd14 // REFRESH-to-ACTIVATE/REFRESH interval (512Mb), tRFC/tCLK=105/8=14 (tCLK) |
//`define TRFC 5'd16 // REFRESH-to-ACTIVATE/REFRESH interval (1Gb), tRFC/tCLK=127,5/8=16 (tCLK) |
//`define TRFC 5'd25 // REFRESH-to-ACTIVATE/REFRESH interval (2Gb), tRFC/tCLK=197,5/8=25 (tCLK) |
//`define TRCD 2'd2 // ACTIVATE-to-READ/WRITE delay, 12-15ns, tRCD/tCLK=15/8=2 (tCLK) |
|
`endif // `ifdef MT47H32M16 |
|
|
/verilog/ref_delay_counter_defines.v
0,0 → 1,42
// module name |
`define CNT_MODULE_NAME ref_delay_counter |
|
// counter type = [BINARY, GRAY, LFSR] |
`define CNT_TYPE_BINARY |
//`define CNT_TYPE_GRAY |
//`define CNT_TYPE_LFSR |
|
// q as output |
//`define CNT_Q |
// for gray type counter optional binary output |
//`define CNT_Q_BIN |
|
// number of CNT bins |
`define CNT_LENGTH 6 |
|
// clear |
//`define CNT_CLEAR |
|
// async reset |
`define CNT_RESET_VALUE `CNT_LENGTH'h0 |
|
// set |
//`define CNT_SET |
`define CNT_SET_VALUE `CNT_LENGTH'h0 |
|
// wrap around creates shorter cycle than maximum length |
`define CNT_WRAP |
`define CNT_WRAP_VALUE `CNT_LENGTH'd12 |
|
// clock enable |
`define CNT_CE |
|
// q_next as an output |
//`define CNT_QNEXT |
|
// q=0 as an output |
//`define CNT_Z |
|
// q_next=0 as a registered output |
`define CNT_ZQ |
|
/verilog/latency_counter_defines.v
0,0 → 1,42
// module name |
`define CNT_MODULE_NAME latency_counter |
|
// counter type = [BINARY, GRAY, LFSR] |
`define CNT_TYPE_BINARY |
//`define CNT_TYPE_GRAY |
//`define CNT_TYPE_LFSR |
|
// q as output |
//`define CNT_Q |
// for gray type counter optional binary output |
//`define CNT_Q_BIN |
|
// number of CNT bins |
`define CNT_LENGTH 4 |
|
// clear |
//`define CNT_CLEAR |
|
// async reset |
`define CNT_RESET_VALUE `CNT_LENGTH'h0 |
|
// set |
//`define CNT_SET |
`define CNT_SET_VALUE `CNT_LENGTH'h0 |
|
// wrap around creates shorter cycle than maximum length |
`define CNT_WRAP |
`define CNT_WRAP_VALUE `CNT_LENGTH'd3 |
|
// clock enable |
`define CNT_CE |
|
// q_next as an output |
//`define CNT_QNEXT |
|
// q=0 as an output |
//`define CNT_Z |
|
// q_next=0 as a registered output |
`define CNT_ZQ |
|
/verilog/burst_length_counter_defines.v
0,0 → 1,42
// module name |
`define CNT_MODULE_NAME burst_length_counter |
|
// counter type = [BINARY, GRAY, LFSR] |
`define CNT_TYPE_BINARY |
//`define CNT_TYPE_GRAY |
//`define CNT_TYPE_LFSR |
|
// q as output |
//`define CNT_Q |
// for gray type counter optional binary output |
//`define CNT_Q_BIN |
|
// number of CNT bins |
`define CNT_LENGTH 3 |
|
// clear |
//`define CNT_CLEAR |
|
// async reset |
`define CNT_RESET_VALUE `CNT_LENGTH'h0 |
|
// set |
//`define CNT_SET |
`define CNT_SET_VALUE `CNT_LENGTH'h0 |
|
// wrap around creates shorter cycle than maximum length |
`define CNT_WRAP |
`define CNT_WRAP_VALUE `CNT_LENGTH'd3 |
|
// clock enable |
`define CNT_CE |
|
// q_next as an output |
//`define CNT_QNEXT |
|
// q=0 as an output |
//`define CNT_Z |
|
// q_next=0 as a registered output |
`define CNT_ZQ |
|
/verilog/pre_delay_counter_defines.v
0,0 → 1,42
// module name |
`define CNT_MODULE_NAME pre_delay_counter |
|
// counter type = [BINARY, GRAY, LFSR] |
`define CNT_TYPE_BINARY |
//`define CNT_TYPE_GRAY |
//`define CNT_TYPE_LFSR |
|
// q as output |
//`define CNT_Q |
// for gray type counter optional binary output |
//`define CNT_Q_BIN |
|
// number of CNT bins |
`define CNT_LENGTH 4 |
|
// clear |
//`define CNT_CLEAR |
|
// async reset |
`define CNT_RESET_VALUE `CNT_LENGTH'h0 |
|
// set |
//`define CNT_SET |
`define CNT_SET_VALUE `CNT_LENGTH'h0 |
|
// wrap around creates shorter cycle than maximum length |
`define CNT_WRAP |
`define CNT_WRAP_VALUE `CNT_LENGTH'd2 |
|
// clock enable |
`define CNT_CE |
|
// q_next as an output |
//`define CNT_QNEXT |
|
// q=0 as an output |
//`define CNT_Z |
|
// q_next=0 as a registered output |
`define CNT_ZQ |
|
/verilog/versatile_mem_ctrl_top.v
122,6 → 122,8
output ck_pad_o, |
output ck_n_pad_o, |
output cke_pad_o, |
output ck_fb_pad_o, |
input ck_fb_pad_i, |
output cs_n_pad_o, |
output ras_pad_o, |
output cas_pad_o, |
130,14 → 132,17
output [1:0] dm_rdqs_o, |
output [1:0] ba_pad_o, |
output [12:0] addr_pad_o, |
input [15:0] dq_i, |
output [15:0] dq_o, |
output dq_oe, |
input [1:0] dqs_i, |
output [1:0] dqs_o, |
//input [15:0] dq_i, |
//output [15:0] dq_o, |
inout [15:0] dq_pad_io, |
//output dq_oe, |
//input [1:0] dqs_i, |
//output [1:0] dqs_o, |
inout [1:0] dqs_pad_io, |
output dqs_oe, |
input [1:0] dqs_n_i, |
output [1:0] dqs_n_o, |
//input [1:0] dqs_n_i, |
//output [1:0] dqs_n_o, |
inout [1:0] dqs_n_pad_io, |
input [1:0] rdqs_n_pad_i, |
output odt_pad_o, |
`endif |
564,7 → 569,7
.bte_i(tx_fifo_dat_o[4:3]), |
.cti_i(tx_fifo_dat_o[2:0]), |
.init(adr_init), |
.inc(adr_inc), |
.inc(adr_inc | rx_fifo_we), |
.adr_o(burst_adr), |
.done(done), |
.clk(sdram_clk_0), |
586,8 → 591,8
ref_req <= 1'b1; |
else if (ref_ack) |
ref_req <= 1'b0; |
|
|
|
`ifdef SDR_16 |
wire read; |
reg [15:0] dq_i_reg, dq_i_tmp_reg; |
658,29 → 663,36
|
|
`ifdef DDR_16 |
wire read, write; |
wire read, write; |
wire [15:0] dq_hi_reg, dq_lo_reg; |
wire sdram_clk_180, sdram_clk_90, sdram_clk_270; |
wire sdram_bufg_clk_0, sdram_bufg_clk_180, sdram_bufg_clk_90, sdram_bufg_clk_270; |
reg cke_en; |
reg cke, ras, cas, we, cs_n; |
wire ras_o, cas_o, we_o, cs_n_o; |
wire [1:0] ba_o; |
wire sdram_clk_180, sdram_clk_90, sdram_clk_270; |
wire sdram_bufg_clk_0, sdram_bufg_clk_180, sdram_bufg_clk_90, sdram_bufg_clk_270; |
wire sdram_clk_ibufg; |
wire ck_fb, ck_fb_bufg, ck_fb_ibufg; |
reg cke_en; |
reg cke, ras, cas, we, cs_n; |
wire ras_o, cas_o, we_o, cs_n_o; |
wire [1:0] ba_o; |
wire [12:0] addr_o; |
reg [1:0] ba; |
reg [1:0] ba; |
reg [12:0] addr; |
wire [14:0] cke_delay_cnt; |
wire dq_en, dqs_en; |
wire dq_en, dqs_en; |
reg [35:0] rx_fifo_dat_pipe; |
reg [31:0] tx_fifo_dat_pipe; |
genvar i; |
wire [31:0] dq_o, dq_i; |
wire ref_delay, ref_delay_ack, pre_delay, pre_delay_ack; |
wire bl_en, bl_ack; |
wire tx_fifo_re_i, adr_init_delay; |
reg adr_init_delay_i; |
genvar i; |
|
// DDR SDRAM 16 FSM |
ddr_16 ddr_16_0 |
( |
.adr_inc(adr_inc), |
.adr_inc(), |
.adr_init(adr_init), |
.fifo_re(tx_fifo_re), |
.fifo_re(tx_fifo_re_i), |
.tx_fifo_dat_o(tx_fifo_dat_o), |
.burst_adr(burst_adr), |
.done(done), |
691,6 → 703,15
// refresh |
.ref_req(ref_req), |
.ref_ack(ref_ack), |
.ref_delay(ref_delay), |
.ref_delay_ack(ref_delay_ack), |
.adr_init_delay(adr_init_delay), |
// |
.pre_delay(pre_delay), |
.pre_delay_ack(pre_delay_ack), |
// burst latency |
.bl_en(bl_en), |
.bl_ack(bl_ack), |
// sdram |
.dqm(dm_rdqs_o), |
.a({ba_o,addr_o}), |
717,6 → 738,33
if (cke_delay_cnt == 15'h6300) |
cke_en <= 1'b1; |
|
// refresh to activate/refresh delay |
ref_delay_counter ref_delay_counter0 |
( |
.cke(ref_delay), |
.zq(ref_delay_ack), |
.clk(sdram_clk_0), |
.rst(wb_rst) |
); |
|
// write recovery time |
pre_delay_counter pre_delay_counter0 |
( |
.cke(pre_delay), |
.zq(pre_delay_ack), |
.clk(sdram_clk_0), |
.rst(wb_rst) |
); |
|
// burst length |
burst_length_counter burst_length_counter0 |
( |
.cke(bl_en), |
.zq(bl_ack), |
.clk(sdram_clk_0), |
.rst(wb_rst) |
); |
|
always @ (posedge sdram_clk_180 or posedge wb_rst) |
if (wb_rst) begin |
cs_n <= 1'b0; |
743,11 → 791,11
assign we_pad_o = we; |
assign ba_pad_o = ba; |
assign addr_pad_o = addr; |
assign cs_n_pad_o = cs_n; |
assign cs_n_pad_o = cs_n; |
|
|
// |
defparam delay0.depth=`CL+2; |
// read latency |
defparam delay0.depth=`CL+`AL+2; |
delay delay0 |
( |
.d({read,tx_fifo_b_sel_i_cur}), |
756,17 → 804,39
.rst(wb_rst) |
); |
|
// |
defparam delay1.depth=3; |
// write latency |
defparam delay1.depth=`CL+`AL-1; |
delay delay1 |
( |
.d({write, write, write, 1'b0}), |
.q({dq_en, dq_oe, dqs_en, open}), |
.d({write, write, write, write}), |
.q({dq_en, dq_oe, dqs_en, adr_inc}), |
.clk(sdram_clk_0), |
.rst(wb_rst) |
); |
|
// TX DCM |
// if CL>4 delay read from Tx FIFO |
defparam delay2.depth=`CL+`AL-4; |
delay delay2 |
( |
.d({tx_fifo_re_i, tx_fifo_re_i, 2'b00}), |
.q({tx_fifo_re, adr_init_delay, open, open}), |
.clk(sdram_clk_0), |
.rst(wb_rst) |
); |
/* // if CL=4, no delay |
assign tx_fifo_re = tx_fifo_re_i; |
always @ (posedge sdram_clk_0 or posedge wb_rst) |
if (wb_rst) |
adr_init_delay_i <= 1'b0; |
else |
adr_init_delay_i <= tx_fifo_re_i; |
assign adr_init_delay = adr_init_delay_i;*/ |
|
// CL=3, not supported |
|
|
// DCM with internal feedback |
// Remove skew from internal clock |
DCM #( |
.CLKDV_DIVIDE(2.0), |
.CLKFX_DIVIDE(1), |
780,7 → 850,7
.DUTY_CYCLE_CORRECTION("TRUE"), |
.PHASE_SHIFT(0), |
.STARTUP_WAIT("FALSE") |
) DCM_inst ( |
) DCM_internal ( |
.CLK0(sdram_bufg_clk_0), |
.CLK180(sdram_bufg_clk_180), |
.CLK270(sdram_bufg_clk_270), |
794,7 → 864,7
.PSDONE(), |
.STATUS(), |
.CLKFB(sdram_clk_0), |
.CLKIN(sdram_clk), |
.CLKIN(sdram_clk_ibufg), |
.DSSEN(), |
.PSCLK(), |
.PSEN(), |
801,9 → 871,44
.PSINCDEC(), |
.RST(wb_rst) |
); |
// DCM with external feedback |
// Remove skew from external clock |
DCM #( |
.CLKDV_DIVIDE(2.0), |
.CLKFX_DIVIDE(1), |
.CLKFX_MULTIPLY(4), |
.CLKIN_DIVIDE_BY_2("FALSE"), |
.CLKIN_PERIOD(8.0), |
.CLKOUT_PHASE_SHIFT("NONE"), |
.CLK_FEEDBACK("1X"), |
.DESKEW_ADJUST("SYSTEM_SYNCHRONOUS"), |
.DLL_FREQUENCY_MODE("LOW"), |
.DUTY_CYCLE_CORRECTION("TRUE"), |
.PHASE_SHIFT(0), |
.STARTUP_WAIT("FALSE") |
) DCM_external ( |
.CLK0(ck_fb_bufg), |
.CLK180(), |
.CLK270(), |
.CLK2X(), |
.CLK2X180(), |
.CLK90(), |
.CLKDV(), |
.CLKFX(), |
.CLKFX180(), |
.LOCKED(), |
.PSDONE(), |
.STATUS(), |
.CLKFB(ck_fb_ibufg), |
.CLKIN(sdram_clk_ibufg), |
.DSSEN(), |
.PSCLK(), |
.PSEN(), |
.PSINCDEC(), |
.RST(wb_rst) |
); |
|
// Global buffers on DCM clock outputs |
// Internal feedback to DCM |
// Global buffers on DCM generated clocks |
BUFG BUFG_0 ( |
.I (sdram_bufg_clk_0), |
.O (sdram_clk_0)); |
816,6 → 921,17
BUFG BUFG_270 ( |
.I (sdram_bufg_clk_270), |
.O (sdram_clk_270)); |
// Internal feedback to DCM |
IBUFG IBUFG_clk ( |
.I (sdram_clk), |
.O (sdram_clk_ibufg)); |
// External feedback to DCM |
OBUF OBUF_ck_fb ( |
.I (ck_fb_bufg), |
.O (ck_fb)); |
IBUFG IBUFG_ck_fb ( |
.I (ck_fb_pad_i), |
.O (ck_fb_ibufg)); |
|
// Pipeline the data path from Tx FIFO to ODDR output registers |
always @ (posedge sdram_clk_0 or posedge wb_rst) |
845,6 → 961,42
end |
endgenerate |
|
assign dq_pad_io = dq_oe ? dq_o : {16{1'bz}}; |
|
// Use ODDR FF to generate clock with equal delay as data |
ODDR2 #( |
.DDR_ALIGNMENT("NONE"), |
.INIT(1'b0), |
.SRTYPE("SYNC")) |
ODDR2_inst_1 |
( |
.Q(ck_pad_o), |
.C0(sdram_clk_270), |
.C1(sdram_clk_90), |
.CE(1'b1), |
.D0(1'b1), |
.D1(1'b0), |
.R(wb_rst), |
.S(1'b0) |
); |
|
// Use ODDR FF to generate clock with equal delay as data |
ODDR2 #( |
.DDR_ALIGNMENT("NONE"), |
.INIT(1'b0), |
.SRTYPE("SYNC")) |
ODDR2_inst_2 |
( |
.Q(ck_n_pad_o), |
.C0(sdram_clk_270), |
.C1(sdram_clk_90), |
.CE(1'b1), |
.D0(1'b0), |
.D1(1'b1), |
.R(wb_rst), |
.S(1'b0) |
); |
|
// IDDR2 (Double Data Rate Input D Flip-Flop) |
generate |
for (i=0; i<16; i=i+1) begin:iddr2gen |
860,9 → 1012,9
.C0(sdram_clk_270), |
.C1(sdram_clk_90), |
.CE(1'b1), |
.D(dq_i[i]), |
.D(dq_pad_io[i]), |
.R(wb_rst), |
.S(1'b0) |
.S(1'b0) |
); |
end |
endgenerate |
877,11 → 1029,10
assign rx_fifo_dat_i = rx_fifo_dat_pipe; |
|
// Assing outputs |
assign ck_pad_o = sdram_clk_270; |
assign ck_n_pad_o = sdram_clk_90; |
assign dqs_o = dqs_en ? {sdram_clk_270, sdram_clk_270} : 2'bz; |
assign dqs_n_o = dqs_en ? {sdram_clk_90, sdram_clk_90} : 2'bz; |
assign dqs_oe = dqs_en; |
assign dqs_pad_io = dqs_en ? {sdram_clk_270, sdram_clk_270} : 2'bz; |
assign dqs_n_pad_io = dqs_en ? {sdram_clk_90, sdram_clk_90} : 2'bz; |
assign dqs_oe = dqs_en; |
assign ck_fb_pad_o = ck_fb; |
|
`endif // `ifdef DDR_16 |
|
/verilog/ddr_16.fzm
1,4 → 1,4
## File last modified by Fizzim: 3:09:01 PM on 10/26/09 |
## File last modified by Fizzim: 9:44:02 AM on 11/6/09 |
<version> |
8.04.05 |
</version> |
666,6 → 666,182
-1 |
</page> |
</cke_en> |
<ref_delay_ack> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
|
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
0 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
|
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
-1 |
</page> |
</ref_delay_ack> |
<pre_delay_ack> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
|
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
0 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
|
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
-1 |
</page> |
</pre_delay_ack> |
<bl_ack> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
|
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
0 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
|
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
-1 |
</page> |
</bl_ack> |
<adr_init_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
|
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
0 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
|
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
-1 |
</page> |
</adr_init_delay> |
</inputs> |
<outputs> |
<cs_n> |
1037,7 → 1213,7
</status> |
</vis> |
<type> |
reg |
comb |
<status> |
GLOBAL_VAR |
</status> |
1108,6 → 1284,138
-1 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
comb |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
-1 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
comb |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
-1 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
comb |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
-1 |
</page> |
</bl_en> |
</outputs> |
<state> |
<name> |
1594,6 → 1902,138
-1 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
-1 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
-1 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
-1 |
</page> |
</bl_en> |
</state> |
<trans> |
<name> |
1737,10 → 2177,10
</tabs> |
## START PREFERENCES |
<SCounter> |
95 |
98 |
</SCounter> |
<TCounter> |
131 |
139 |
</TCounter> |
<TableVis> |
true |
2264,6 → 2704,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
75 |
2775,6 → 3347,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
75 |
3505,6 → 4209,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
75 |
4016,6 → 4852,138
3 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</bl_en> |
</attributes> |
<x0> |
275 |
4257,7 → 5225,7
0 |
</x2Obj> |
<y2Obj> |
-22 |
-24 |
</y2Obj> |
<page> |
3 |
4527,6 → 5495,138
3 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b1 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
-1 |
</x2Obj> |
<y2Obj> |
-30 |
</y2Obj> |
<page> |
3 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</bl_en> |
</attributes> |
<x0> |
475 |
5245,18 → 6345,150
3 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</bl_en> |
</attributes> |
<x0> |
275 |
</x0> |
<y0> |
375 |
225 |
</y0> |
<x1> |
375 |
</x1> |
<y1> |
475 |
325 |
</y1> |
<reset> |
false |
5409,9 → 6641,9
GLOBAL_FIXED |
</status> |
<value> |
a[14:0] |
15'd0 |
<status> |
LOCAL |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
5756,18 → 6988,150
3 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</bl_en> |
</attributes> |
<x0> |
475 |
</x0> |
<y0> |
500 |
375 |
</y0> |
<x1> |
575 |
</x1> |
<y1> |
600 |
475 |
</y1> |
<reset> |
false |
5926,25 → 7290,25
368.0 |
</startPtX> |
<startPtY> |
450.0 |
300.0 |
</startPtY> |
<endPtX> |
481.0 |
</endPtX> |
<endPtY> |
525.0 |
400.0 |
</endPtY> |
<startCtrlPtX> |
410.0 |
394.0 |
</startCtrlPtX> |
<startCtrlPtY> |
479.0 |
321.0 |
</startCtrlPtY> |
<endCtrlPtY> |
427.0 |
448.0 |
</endCtrlPtY> |
<endCtrlPtY> |
489.0 |
369.0 |
</endCtrlPtY> |
<startStateIndex> |
3 |
6133,25 → 7497,25
525.0 |
</startPtX> |
<startPtY> |
600.0 |
475.0 |
</startPtY> |
<endPtX> |
525.0 |
</endPtX> |
<endPtY> |
650.0 |
525.0 |
</endPtY> |
<startCtrlPtX> |
525.0 |
</startCtrlPtX> |
<startCtrlPtY> |
610.0 |
485.0 |
</startCtrlPtY> |
<endCtrlPtY> |
525.0 |
</endCtrlPtY> |
<endCtrlPtY> |
639.0 |
514.0 |
</endCtrlPtY> |
<startStateIndex> |
9 |
6232,10 → 7596,10
</status> |
</color> |
<x2Obj> |
0 |
1 |
</x2Obj> |
<y2Obj> |
-4 |
0 |
</y2Obj> |
<page> |
3 |
6320,10 → 7684,10
</status> |
</color> |
<x2Obj> |
-3 |
0 |
</x2Obj> |
<y2Obj> |
-9 |
0 |
</y2Obj> |
<page> |
3 |
6364,10 → 7728,10
</status> |
</color> |
<x2Obj> |
-2 |
0 |
</x2Obj> |
<y2Obj> |
-4 |
0 |
</y2Obj> |
<page> |
3 |
6496,10 → 7860,10
</status> |
</color> |
<x2Obj> |
-1 |
2 |
</x2Obj> |
<y2Obj> |
-5 |
-4 |
</y2Obj> |
<page> |
3 |
6584,10 → 7948,10
</status> |
</color> |
<x2Obj> |
3 |
0 |
</x2Obj> |
<y2Obj> |
-33 |
0 |
</y2Obj> |
<page> |
3 |
6598,9 → 7962,9
GLOBAL_FIXED |
</status> |
<value> |
1'b1 |
1'b0 |
<status> |
LOCAL |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
6628,7 → 7992,7
</status> |
</color> |
<x2Obj> |
3 |
0 |
</x2Obj> |
<y2Obj> |
-6 |
6681,289 → 8045,11
3 |
</page> |
</write> |
</attributes> |
<x0> |
475 |
</x0> |
<y0> |
800 |
</y0> |
<x1> |
575 |
</x1> |
<y1> |
900 |
</y1> |
<reset> |
false |
</reset> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
</state> |
## END STATE OBJECT |
## START STATE TRANSITION OBJECT |
<transition> |
<attributes> |
<name> |
<ref_delay> |
<status> |
ABS |
</status> |
<value> |
trans17 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
0 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</name> |
<equation> |
<status> |
ABS |
</status> |
<value> |
1 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
1 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
8 |
</x2Obj> |
<y2Obj> |
9 |
</y2Obj> |
<page> |
3 |
</page> |
</equation> |
<priority> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1000 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
|
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
-6 |
</x2Obj> |
<y2Obj> |
38 |
</y2Obj> |
<page> |
3 |
</page> |
</priority> |
</attributes> |
<startState> |
NOP29 |
</startState> |
<endState> |
READ |
</endState> |
<startPtX> |
525.0 |
</startPtX> |
<startPtY> |
900.0 |
</startPtY> |
<endPtX> |
525.0 |
</endPtX> |
<endPtY> |
950.0 |
</endPtY> |
<startCtrlPtX> |
525.0 |
</startCtrlPtX> |
<startCtrlPtY> |
910.0 |
</startCtrlPtY> |
<endCtrlPtY> |
525.0 |
</endCtrlPtY> |
<endCtrlPtY> |
939.0 |
</endCtrlPtY> |
<startStateIndex> |
9 |
</startStateIndex> |
<endStateIndex> |
27 |
</endStateIndex> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
<pageSX> |
667.0 |
</PageSX> |
<pageSY> |
452.0 |
</pageSY> |
<pageSCX> |
0.0 |
</PageSCX> |
<pageSCY> |
0.0 |
</pageSCY> |
<pageEX> |
0.0 |
</PageEX> |
<pageEY> |
0.0 |
</pageEY> |
<pageECX> |
0.0 |
</PageECX> |
<pageECY> |
0.0 |
</pageECY> |
<stub> |
false |
</stub> |
</transition> |
## END STATE TRANSITION OBJECT |
## START STATE OBJECT |
<state> |
<attributes> |
<name> |
<status> |
ABS |
</status> |
<value> |
READ |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
1 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
1 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</name> |
<cs_n> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
7002,100 → 8088,12
<page> |
3 |
</page> |
</cs_n> |
<cmd[2:0]> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
`CMD_NOP |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</cmd[2:0]> |
<a[14:0]> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
a |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</a[14:0]> |
<ref_ack> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
7134,8 → 8132,8
<page> |
3 |
</page> |
</ref_ack> |
<adr_init> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
7178,239 → 8176,19
<page> |
3 |
</page> |
</adr_init> |
<adr_inc> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
!done |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
2 |
</x2Obj> |
<y2Obj> |
-4 |
</y2Obj> |
<page> |
3 |
</page> |
</adr_inc> |
<fifo_re> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</fifo_re> |
<dqm[1:0]> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
2'b00 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</dqm[1:0]> |
<read> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
-6 |
</y2Obj> |
<page> |
3 |
</page> |
</read> |
<write> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</write> |
</bl_en> |
</attributes> |
<x0> |
475 |
275 |
</x0> |
<y0> |
950 |
825 |
</y0> |
<x1> |
575 |
375 |
</x1> |
<y1> |
1050 |
925 |
</y1> |
<reset> |
false |
7566,10 → 8344,10
AWAIT_CMD |
</endState> |
<startPtX> |
825.0 |
775.0 |
</startPtX> |
<startPtY> |
450.0 |
1175.0 |
</startPtY> |
<endPtX> |
247.0 |
7602,10 → 8380,10
-16777216 |
</color> |
<pageSX> |
863.0 |
813.0 |
</PageSX> |
<pageSY> |
450.0 |
1175.0 |
</pageSY> |
<pageSCX> |
0.0 |
8117,18 → 8895,150
3 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</bl_en> |
</attributes> |
<x0> |
725 |
675 |
</x0> |
<y0> |
400 |
1125 |
</y0> |
<x1> |
825 |
775 |
</x1> |
<y1> |
500 |
1225 |
</y1> |
<reset> |
false |
8223,10 → 9133,10
</status> |
</color> |
<x2Obj> |
-1 |
16 |
</x2Obj> |
<y2Obj> |
-4 |
10 |
</y2Obj> |
<page> |
3 |
8278,40 → 9188,40
</priority> |
</attributes> |
<startState> |
READ |
NOP29 |
</startState> |
<endState> |
NOP30 |
</endState> |
<startPtX> |
575.0 |
325.0 |
</startPtX> |
<startPtY> |
1000.0 |
925.0 |
</startPtY> |
<endPtX> |
675.0 |
325.0 |
</endPtX> |
<endPtY> |
1000.0 |
975.0 |
</endPtY> |
<startCtrlPtX> |
596.0 |
325.0 |
</startCtrlPtX> |
<startCtrlPtY> |
1000.0 |
935.0 |
</startCtrlPtY> |
<endCtrlPtY> |
653.0 |
325.0 |
</endCtrlPtY> |
<endCtrlPtY> |
1000.0 |
964.0 |
</endCtrlPtY> |
<startStateIndex> |
0 |
9 |
</startStateIndex> |
<endStateIndex> |
18 |
27 |
</endStateIndex> |
<page> |
3 |
8488,7 → 9398,7
AWAIT_CMD |
</startState> |
<endState> |
NOP20 |
ACT_ROW |
</endState> |
<startPtX> |
325.0 |
8506,13 → 9416,13
325.0 |
</startCtrlPtX> |
<startCtrlPtY> |
185.0 |
218.0 |
</startCtrlPtY> |
<endCtrlPtY> |
325.0 |
</endCtrlPtY> |
<endCtrlPtY> |
214.0 |
181.0 |
</endCtrlPtY> |
<startStateIndex> |
9 |
8637,10 → 9547,10
</status> |
</color> |
<x2Obj> |
-18 |
-19 |
</x2Obj> |
<y2Obj> |
-18 |
-14 |
</y2Obj> |
<page> |
3 |
8695,37 → 9605,37
ACT_ROW |
</startState> |
<endState> |
NOP22 |
NOP_tRCD |
</endState> |
<startPtX> |
281.0 |
286.0 |
</startPtX> |
<startPtY> |
450.0 |
307.0 |
</startPtY> |
<endPtX> |
168.0 |
163.0 |
</endPtX> |
<endPtY> |
525.0 |
392.0 |
</endPtY> |
<startCtrlPtX> |
251.0 |
263.0 |
</startCtrlPtX> |
<startCtrlPtY> |
470.0 |
323.0 |
</startCtrlPtY> |
<endCtrlPtY> |
211.0 |
193.0 |
</endCtrlPtY> |
<endCtrlPtY> |
495.0 |
372.0 |
</endCtrlPtY> |
<startStateIndex> |
15 |
14 |
</startStateIndex> |
<endStateIndex> |
33 |
32 |
</endStateIndex> |
<page> |
3 |
9456,18 → 10366,150
3 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b1 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</bl_en> |
</attributes> |
<x0> |
475 |
</x0> |
<y0> |
650 |
525 |
</y0> |
<x1> |
575 |
</x1> |
<y1> |
750 |
625 |
</y1> |
<reset> |
false |
9565,7 → 10607,7
7 |
</x2Obj> |
<y2Obj> |
-5 |
9 |
</y2Obj> |
<page> |
3 |
9620,37 → 10662,37
READ_ADDR |
</startState> |
<endState> |
NOP27 |
READ_BURST |
</endState> |
<startPtX> |
575.0 |
525.0 |
</startPtX> |
<startPtY> |
700.0 |
625.0 |
</startPtY> |
<endPtX> |
675.0 |
525.0 |
</endPtX> |
<endPtY> |
700.0 |
675.0 |
</endPtY> |
<startCtrlPtX> |
596.0 |
525.0 |
</startCtrlPtX> |
<startCtrlPtY> |
700.0 |
635.0 |
</startCtrlPtY> |
<endCtrlPtY> |
653.0 |
525.0 |
</endCtrlPtY> |
<endCtrlPtY> |
700.0 |
664.0 |
</endCtrlPtY> |
<startStateIndex> |
0 |
9 |
</startStateIndex> |
<endStateIndex> |
18 |
27 |
</endStateIndex> |
<page> |
3 |
10174,18 → 11216,150
3 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b1 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
2 |
<status> |
LOCAL |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</bl_en> |
</attributes> |
<x0> |
475 |
275 |
</x0> |
<y0> |
1100 |
1125 |
</y0> |
<x1> |
575 |
375 |
</x1> |
<y1> |
1200 |
1225 |
</y1> |
<reset> |
false |
10685,6 → 11859,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
75 |
11403,6 → 12709,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
375 |
11914,6 → 13352,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
75 |
12425,6 → 13995,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
75 |
12936,6 → 14638,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
375 |
13447,6 → 15281,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
375 |
13958,6 → 15924,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
375 |
14469,6 → 16567,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
675 |
14980,6 → 17210,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
75 |
15491,6 → 17853,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
75 |
16002,6 → 18496,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
375 |
16513,6 → 19139,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
375 |
17024,6 → 19782,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
375 |
17535,6 → 20425,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
375 |
18046,6 → 21068,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
675 |
18557,6 → 21711,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
675 |
19068,6 → 22354,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
675 |
19579,6 → 22997,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
675 |
20090,6 → 23640,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
675 |
20601,6 → 24283,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
675 |
25045,6 → 28859,138
2 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
2 |
</page> |
</bl_en> |
</attributes> |
<x0> |
675 |
25284,7 → 29230,7
ABS |
</status> |
<value> |
NOP21 |
NOP_tRFC |
<status> |
LOCAL |
</status> |
25302,9 → 29248,9
</status> |
</type> |
<comment> |
|
REFRESH-to-ACTIVATE/REFRESH interval |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</comment> |
<color> |
25763,51 → 29709,24
3 |
</page> |
</write> |
</attributes> |
<x0> |
475 |
</x0> |
<y0> |
225 |
</y0> |
<x1> |
575 |
</x1> |
<y1> |
325 |
</y1> |
<reset> |
false |
</reset> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
</state> |
## END STATE OBJECT |
## START STATE TRANSITION OBJECT |
<transition> |
<attributes> |
<name> |
<ref_delay> |
<status> |
ABS |
GLOBAL_FIXED |
</status> |
<value> |
trans98 |
!ref_delay_ack |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
0 |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
output |
<status> |
GLOBAL_VAR |
</status> |
25833,25 → 29752,25
<page> |
3 |
</page> |
</name> |
<equation> |
</ref_delay> |
<pre_delay> |
<status> |
ABS |
GLOBAL_FIXED |
</status> |
<value> |
1 |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
1 |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
output |
<status> |
GLOBAL_VAR |
</status> |
25869,21 → 29788,21
</status> |
</color> |
<x2Obj> |
7 |
0 |
</x2Obj> |
<y2Obj> |
4 |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</equation> |
<priority> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1000 |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
25895,7 → 29814,7
</status> |
</vis> |
<type> |
|
output |
<status> |
GLOBAL_VAR |
</status> |
25921,44 → 29840,23
<page> |
3 |
</page> |
</priority> |
</bl_en> |
</attributes> |
<startState> |
AREF |
</startState> |
<endState> |
NOP21 |
</endState> |
<startPtX> |
525.0 |
</startPtX> |
<startPtY> |
175.0 |
</startPtY> |
<endPtX> |
525.0 |
</endPtX> |
<endPtY> |
225.0 |
</endPtY> |
<startCtrlPtX> |
525.0 |
</startCtrlPtX> |
<startCtrlPtY> |
185.0 |
</startCtrlPtY> |
<endCtrlPtY> |
525.0 |
</endCtrlPtY> |
<endCtrlPtY> |
214.0 |
</endCtrlPtY> |
<startStateIndex> |
9 |
</startStateIndex> |
<endStateIndex> |
27 |
</endStateIndex> |
<x0> |
475 |
</x0> |
<y0> |
225 |
</y0> |
<x1> |
575 |
</x1> |
<y1> |
325 |
</y1> |
<reset> |
false |
</reset> |
<page> |
3 |
</page> |
25965,35 → 29863,8
<color> |
-16777216 |
</color> |
<pageSX> |
0.0 |
</PageSX> |
<pageSY> |
0.0 |
</pageSY> |
<pageSCX> |
0.0 |
</PageSCX> |
<pageSCY> |
0.0 |
</pageSCY> |
<pageEX> |
0.0 |
</PageEX> |
<pageEY> |
0.0 |
</pageEY> |
<pageECX> |
0.0 |
</PageECX> |
<pageECY> |
0.0 |
</pageECY> |
<stub> |
false |
</stub> |
</transition> |
## END STATE TRANSITION OBJECT |
</state> |
## END STATE OBJECT |
## START STATE TRANSITION OBJECT |
<transition> |
<attributes> |
26002,7 → 29873,7
ABS |
</status> |
<value> |
trans99 |
trans98 |
<status> |
LOCAL |
</status> |
26076,10 → 29947,10
</status> |
</color> |
<x2Obj> |
5 |
7 |
</x2Obj> |
<y2Obj> |
-3 |
4 |
</y2Obj> |
<page> |
3 |
26131,40 → 30002,40
</priority> |
</attributes> |
<startState> |
NOP21 |
AREF |
</startState> |
<endState> |
AWAIT_CMD |
NOP_tRFC |
</endState> |
<startPtX> |
486.0 |
525.0 |
</startPtX> |
<startPtY> |
242.0 |
175.0 |
</startPtY> |
<endPtX> |
363.0 |
525.0 |
</endPtX> |
<endPtY> |
157.0 |
225.0 |
</endPtY> |
<startCtrlPtX> |
447.0 |
525.0 |
</startCtrlPtX> |
<startCtrlPtY> |
214.0 |
185.0 |
</startCtrlPtY> |
<endCtrlPtY> |
401.0 |
525.0 |
</endCtrlPtY> |
<endCtrlPtY> |
184.0 |
214.0 |
</endCtrlPtY> |
<startStateIndex> |
22 |
9 |
</startStateIndex> |
<endStateIndex> |
4 |
27 |
</endStateIndex> |
<page> |
3 |
26173,10 → 30044,10
-16777216 |
</color> |
<pageSX> |
635.0 |
0.0 |
</PageSX> |
<pageSY> |
275.0 |
0.0 |
</pageSY> |
<pageSCX> |
0.0 |
26201,517 → 30072,6
</stub> |
</transition> |
## END STATE TRANSITION OBJECT |
## START STATE OBJECT |
<state> |
<attributes> |
<name> |
<status> |
ABS |
</status> |
<value> |
NOP20 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
1 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</name> |
<cs_n> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</cs_n> |
<cmd[2:0]> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
`CMD_NOP |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</cmd[2:0]> |
<a[14:0]> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
15'd0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</a[14:0]> |
<ref_ack> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</ref_ack> |
<adr_init> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</adr_init> |
<adr_inc> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</adr_inc> |
<fifo_re> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</fifo_re> |
<dqm[1:0]> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
2'b00 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</dqm[1:0]> |
<read> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</read> |
<write> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</write> |
</attributes> |
<x0> |
275 |
</x0> |
<y0> |
225 |
</y0> |
<x1> |
375 |
</x1> |
<y1> |
325 |
</y1> |
<reset> |
false |
</reset> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
</state> |
## END STATE OBJECT |
## START STATE TRANSITION OBJECT |
<transition> |
<attributes> |
26720,7 → 30080,7
ABS |
</status> |
<value> |
trans100 |
trans99 |
<status> |
LOCAL |
</status> |
26764,9 → 30124,9
ABS |
</status> |
<value> |
1 |
ref_delay_ack |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
26794,10 → 30154,10
</status> |
</color> |
<x2Obj> |
21 |
35 |
</x2Obj> |
<y2Obj> |
4 |
-3 |
</y2Obj> |
<page> |
3 |
26849,40 → 30209,40
</priority> |
</attributes> |
<startState> |
NOP20 |
NOP_tRFC |
</startState> |
<endState> |
ACT_ROW |
AWAIT_CMD |
</endState> |
<startPtX> |
325.0 |
486.0 |
</startPtX> |
<startPtY> |
325.0 |
242.0 |
</startPtY> |
<endPtX> |
325.0 |
363.0 |
</endPtX> |
<endPtY> |
375.0 |
157.0 |
</endPtY> |
<startCtrlPtX> |
325.0 |
447.0 |
</startCtrlPtX> |
<startCtrlPtY> |
335.0 |
214.0 |
</startCtrlPtY> |
<endCtrlPtY> |
325.0 |
401.0 |
</endCtrlPtY> |
<endCtrlPtY> |
364.0 |
184.0 |
</endCtrlPtY> |
<startStateIndex> |
9 |
22 |
</startStateIndex> |
<endStateIndex> |
27 |
4 |
</endStateIndex> |
<page> |
3 |
26891,10 → 30251,10
-16777216 |
</color> |
<pageSX> |
0.0 |
635.0 |
</PageSX> |
<pageSY> |
0.0 |
275.0 |
</pageSY> |
<pageSCX> |
0.0 |
27134,7 → 30494,7
ABS |
</status> |
<value> |
NOP22 |
NOP_tRCD |
<status> |
LOCAL |
</status> |
27152,9 → 30512,9
</status> |
</type> |
<comment> |
|
ACTIVATE-to-READ/WRITE delay |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</comment> |
<color> |
27266,9 → 30626,9
GLOBAL_FIXED |
</status> |
<value> |
a |
15'd0 |
<status> |
LOCAL |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
27613,79 → 30973,8
3 |
</page> |
</write> |
</attributes> |
<x0> |
75 |
</x0> |
<y0> |
500 |
</y0> |
<x1> |
175 |
</x1> |
<y1> |
600 |
</y1> |
<reset> |
false |
</reset> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
</state> |
## END STATE OBJECT |
## START STATE OBJECT |
<state> |
<attributes> |
<name> |
<ref_delay> |
<status> |
ABS |
</status> |
<value> |
WRITE_ADDR |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
1 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</name> |
<cs_n> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
27727,60 → 31016,16
<page> |
3 |
</page> |
</cs_n> |
<cmd[2:0]> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
`CMD_WRITE |
1'b0 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
1 |
</x2Obj> |
<y2Obj> |
-7 |
</y2Obj> |
<page> |
3 |
</page> |
</cmd[2:0]> |
<a[14:0]> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
`A_WRITE |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
2 |
27810,13 → 31055,13
0 |
</x2Obj> |
<y2Obj> |
-14 |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</a[14:0]> |
<ref_ack> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
27859,25 → 31104,52
<page> |
3 |
</page> |
</ref_ack> |
<adr_init> |
</bl_en> |
</attributes> |
<x0> |
75 |
</x0> |
<y0> |
375 |
</y0> |
<x1> |
175 |
</x1> |
<y1> |
475 |
</y1> |
<reset> |
false |
</reset> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
</state> |
## END STATE OBJECT |
## START STATE OBJECT |
<state> |
<attributes> |
<name> |
<status> |
GLOBAL_FIXED |
ABS |
</status> |
<value> |
1'b0 |
WRITE_ADDR |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
2 |
1 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
def_type |
<status> |
GLOBAL_VAR |
</status> |
27903,15 → 31175,15
<page> |
3 |
</page> |
</adr_init> |
<adr_inc> |
</name> |
<cs_n> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
!done & !fifo_empty[fifo_sel] |
1'b0 |
<status> |
LOCAL |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
27942,18 → 31214,18
0 |
</x2Obj> |
<y2Obj> |
-20 |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</adr_inc> |
<fifo_re> |
</cs_n> |
<cmd[2:0]> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b1 |
`CMD_WRITE |
<status> |
LOCAL |
</status> |
27983,23 → 31255,23
</status> |
</color> |
<x2Obj> |
0 |
1 |
</x2Obj> |
<y2Obj> |
-28 |
-7 |
</y2Obj> |
<page> |
3 |
</page> |
</fifo_re> |
<dqm[1:0]> |
</cmd[2:0]> |
<a[14:0]> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
2'b00 |
`A_WRITE |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
28030,13 → 31302,13
0 |
</x2Obj> |
<y2Obj> |
0 |
-14 |
</y2Obj> |
<page> |
3 |
</page> |
</dqm[1:0]> |
<read> |
</a[14:0]> |
<ref_ack> |
<status> |
GLOBAL_FIXED |
</status> |
28079,127 → 31351,12
<page> |
3 |
</page> |
</read> |
<write> |
</ref_ack> |
<adr_init> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b1 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
1 |
</x2Obj> |
<y2Obj> |
-37 |
</y2Obj> |
<page> |
3 |
</page> |
</write> |
</attributes> |
<x0> |
75 |
</x0> |
<y0> |
650 |
</y0> |
<x1> |
175 |
</x1> |
<y1> |
750 |
</y1> |
<reset> |
false |
</reset> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
</state> |
## END STATE OBJECT |
## START STATE OBJECT |
<state> |
<attributes> |
<name> |
<status> |
ABS |
</status> |
<value> |
WRITE_DATA |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
1 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
-2 |
</y2Obj> |
<page> |
3 |
</page> |
</name> |
<cs_n> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
28238,13 → 31395,13
<page> |
3 |
</page> |
</cs_n> |
<cmd[2:0]> |
</adr_init> |
<adr_inc> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
`CMD_NOP |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
28277,20 → 31434,20
0 |
</x2Obj> |
<y2Obj> |
0 |
-20 |
</y2Obj> |
<page> |
3 |
</page> |
</cmd[2:0]> |
<a[14:0]> |
</adr_inc> |
<fifo_re> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
15'd0 |
1'b1 |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
28321,18 → 31478,18
0 |
</x2Obj> |
<y2Obj> |
0 |
-22 |
</y2Obj> |
<page> |
3 |
</page> |
</a[14:0]> |
<ref_ack> |
</fifo_re> |
<dqm[1:0]> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
2'b00 |
<status> |
GLOBAL_VAR |
</status> |
28370,8 → 31527,8
<page> |
3 |
</page> |
</ref_ack> |
<adr_init> |
</dqm[1:0]> |
<read> |
<status> |
GLOBAL_FIXED |
</status> |
28414,13 → 31571,13
<page> |
3 |
</page> |
</adr_init> |
<adr_inc> |
</read> |
<write> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
!done & !fifo_empty[fifo_sel] |
1'b1 |
<status> |
LOCAL |
</status> |
28453,65 → 31610,21
1 |
</x2Obj> |
<y2Obj> |
-3 |
-29 |
</y2Obj> |
<page> |
3 |
</page> |
</adr_inc> |
<fifo_re> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
!done |
1'b0 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
-5 |
</x2Obj> |
<y2Obj> |
-5 |
</y2Obj> |
<page> |
3 |
</page> |
</fifo_re> |
<dqm[1:0]> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
2'b00 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
28546,8 → 31659,8
<page> |
3 |
</page> |
</dqm[1:0]> |
<read> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
28590,8 → 31703,8
<page> |
3 |
</page> |
</read> |
<write> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
28626,27 → 31739,27
</status> |
</color> |
<x2Obj> |
-2 |
0 |
</x2Obj> |
<y2Obj> |
-6 |
-37 |
</y2Obj> |
<page> |
3 |
</page> |
</write> |
</bl_en> |
</attributes> |
<x0> |
75 |
</x0> |
<y0> |
800 |
525 |
</y0> |
<x1> |
175 |
</x1> |
<y1> |
900 |
625 |
</y1> |
<reset> |
false |
28796,7 → 31909,7
</priority> |
</attributes> |
<startState> |
NOP22 |
NOP_tRCD |
</startState> |
<endState> |
WRITE_ADDR |
28805,25 → 31918,25
125.0 |
</startPtX> |
<startPtY> |
600.0 |
475.0 |
</startPtY> |
<endPtX> |
124.0 |
</endPtX> |
<endPtY> |
650.0 |
525.0 |
</endPtY> |
<startCtrlPtX> |
125.0 |
</startCtrlPtX> |
<startCtrlPtY> |
610.0 |
485.0 |
</startCtrlPtY> |
<endCtrlPtY> |
124.0 |
</endCtrlPtY> |
<endCtrlPtY> |
639.0 |
514.0 |
</endCtrlPtY> |
<startStateIndex> |
9 |
28866,8 → 31979,8
</stub> |
</transition> |
## END STATE TRANSITION OBJECT |
## START LOOPBACK TRANSITION OBJECT |
<transition> |
## START STATE OBJECT |
<state> |
<attributes> |
<name> |
<status> |
28874,13 → 31987,13
ABS |
</status> |
<value> |
trans109 |
NOP30 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
0 |
1 |
<status> |
GLOBAL_VAR |
</status> |
28913,56 → 32026,12
3 |
</page> |
</name> |
<equation> |
<cs_n> |
<status> |
ABS |
</status> |
<value> |
!fifo_empty[fifo_sel] |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
1 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
69 |
</x2Obj> |
<y2Obj> |
46 |
</y2Obj> |
<page> |
3 |
</page> |
</equation> |
<priority> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1000 |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
28974,7 → 32043,7
</status> |
</vis> |
<type> |
|
output |
<status> |
GLOBAL_VAR |
</status> |
29000,73 → 32069,25
<page> |
3 |
</page> |
</priority> |
</attributes> |
<startState> |
WRITE_DATA |
</startState> |
<endState> |
WRITE_DATA |
</endState> |
<startPtX> |
81.0 |
</startPtX> |
<startPtY> |
875.0 |
</startPtY> |
<endPtX> |
81.0 |
</endPtX> |
<endPtY> |
825.0 |
</endPtY> |
<startCtrlPtX> |
0.0 |
</startCtrlPtX> |
<startCtrlPtY> |
929.0 |
</startCtrlPtY> |
<endCtrlPtY> |
0.0 |
</endCtrlPtY> |
<endCtrlPtY> |
775.0 |
</endCtrlPtY> |
<startStateIndex> |
15 |
</startStateIndex> |
<endStateIndex> |
21 |
</endStateIndex> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
</transition> |
## START LOOPBACK TRANSITION OBJECT |
## START STATE TRANSITION OBJECT |
<transition> |
<attributes> |
<name> |
</cs_n> |
<cmd[2:0]> |
<status> |
ABS |
GLOBAL_FIXED |
</status> |
<value> |
trans110 |
`CMD_NOP |
<status> |
LOCAL |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
0 |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
output |
<status> |
GLOBAL_VAR |
</status> |
29092,60 → 32113,16
<page> |
3 |
</page> |
</name> |
<equation> |
</cmd[2:0]> |
<a[14:0]> |
<status> |
ABS |
GLOBAL_FIXED |
</status> |
<value> |
done |
15'd0 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
1 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
16 |
</x2Obj> |
<y2Obj> |
-7 |
</y2Obj> |
<page> |
3 |
</page> |
</equation> |
<priority> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
2 |
29154,7 → 32131,7
</status> |
</vis> |
<type> |
|
output |
<status> |
GLOBAL_VAR |
</status> |
29172,125 → 32149,6
</status> |
</color> |
<x2Obj> |
30 |
</x2Obj> |
<y2Obj> |
-13 |
</y2Obj> |
<page> |
3 |
</page> |
</priority> |
</attributes> |
<startState> |
WRITE_DATA |
</startState> |
<endState> |
NOP25 |
</endState> |
<startPtX> |
125.0 |
</startPtX> |
<startPtY> |
900.0 |
</startPtY> |
<endPtX> |
124.0 |
</endPtX> |
<endPtY> |
1100.0 |
</endPtY> |
<startCtrlPtX> |
125.0 |
</startCtrlPtX> |
<startCtrlPtY> |
943.0 |
</startCtrlPtY> |
<endCtrlPtY> |
124.0 |
</endCtrlPtY> |
<endCtrlPtY> |
1056.0 |
</endCtrlPtY> |
<startStateIndex> |
9 |
</startStateIndex> |
<endStateIndex> |
27 |
</endStateIndex> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
<pageSX> |
0.0 |
</PageSX> |
<pageSY> |
0.0 |
</pageSY> |
<pageSCX> |
0.0 |
</PageSCX> |
<pageSCY> |
0.0 |
</pageSCY> |
<pageEX> |
0.0 |
</PageEX> |
<pageEY> |
0.0 |
</pageEY> |
<pageECX> |
0.0 |
</PageECX> |
<pageECY> |
0.0 |
</pageECY> |
<stub> |
false |
</stub> |
</transition> |
## END STATE TRANSITION OBJECT |
## START STATE OBJECT |
<state> |
<attributes> |
<name> |
<status> |
ABS |
</status> |
<value> |
NOP25 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
1 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
29299,8 → 32157,8
<page> |
3 |
</page> |
</name> |
<cs_n> |
</a[14:0]> |
<ref_ack> |
<status> |
GLOBAL_FIXED |
</status> |
29343,13 → 32201,13
<page> |
3 |
</page> |
</cs_n> |
<cmd[2:0]> |
</ref_ack> |
<adr_init> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
`CMD_NOP |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
29387,13 → 32245,13
<page> |
3 |
</page> |
</cmd[2:0]> |
<a[14:0]> |
</adr_init> |
<adr_inc> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
15'd0 |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
29431,15 → 32289,15
<page> |
3 |
</page> |
</a[14:0]> |
<ref_ack> |
</adr_inc> |
<fifo_re> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
1'b1 |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
29475,13 → 32333,13
<page> |
3 |
</page> |
</ref_ack> |
<adr_init> |
</fifo_re> |
<dqm[1:0]> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
2'b00 |
<status> |
GLOBAL_VAR |
</status> |
29519,8 → 32377,8
<page> |
3 |
</page> |
</adr_init> |
<adr_inc> |
</dqm[1:0]> |
<read> |
<status> |
GLOBAL_FIXED |
</status> |
29563,15 → 32421,15
<page> |
3 |
</page> |
</adr_inc> |
<fifo_re> |
</read> |
<write> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b1 |
1'b0 |
<status> |
LOCAL |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
29607,13 → 32465,13
<page> |
3 |
</page> |
</fifo_re> |
<dqm[1:0]> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
2'b00 |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
29651,8 → 32509,8
<page> |
3 |
</page> |
</dqm[1:0]> |
<read> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
29695,8 → 32553,8
<page> |
3 |
</page> |
</read> |
<write> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
29739,19 → 32597,19
<page> |
3 |
</page> |
</write> |
</bl_en> |
</attributes> |
<x0> |
75 |
275 |
</x0> |
<y0> |
1100 |
975 |
</y0> |
<x1> |
175 |
375 |
</x1> |
<y1> |
1200 |
1075 |
</y1> |
<reset> |
false |
29772,7 → 32630,7
ABS |
</status> |
<value> |
trans111 |
trans119 |
<status> |
LOCAL |
</status> |
29846,10 → 32704,10
</status> |
</color> |
<x2Obj> |
0 |
7 |
</x2Obj> |
<y2Obj> |
-6 |
11 |
</y2Obj> |
<page> |
3 |
29901,34 → 32759,34
</priority> |
</attributes> |
<startState> |
NOP25 |
NOP30 |
</startState> |
<endState> |
NOP31 |
NOP40 |
</endState> |
<startPtX> |
175.0 |
375.0 |
</startPtX> |
<startPtY> |
1150.0 |
1025.0 |
</startPtY> |
<endPtX> |
475.0 |
</endPtX> |
<endPtY> |
1150.0 |
1025.0 |
</endPtY> |
<startCtrlPtX> |
196.0 |
396.0 |
</startCtrlPtX> |
<startCtrlPtY> |
1150.0 |
1025.0 |
</startCtrlPtY> |
<endCtrlPtY> |
453.0 |
</endCtrlPtY> |
<endCtrlPtY> |
1150.0 |
1025.0 |
</endCtrlPtY> |
<startStateIndex> |
0 |
29979,7 → 32837,7
ABS |
</status> |
<value> |
NOP30 |
READ_BURST |
<status> |
LOCAL |
</status> |
30287,9 → 33145,9
GLOBAL_FIXED |
</status> |
<value> |
1'b1 |
1'b0 |
<status> |
LOCAL |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
30375,9 → 33233,9
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
!bl_ack |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
30458,51 → 33316,24
3 |
</page> |
</write> |
</attributes> |
<x0> |
675 |
</x0> |
<y0> |
950 |
</y0> |
<x1> |
775 |
</x1> |
<y1> |
1050 |
</y1> |
<reset> |
false |
</reset> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
</state> |
## END STATE OBJECT |
## START STATE TRANSITION OBJECT |
<transition> |
<attributes> |
<name> |
<ref_delay> |
<status> |
ABS |
GLOBAL_FIXED |
</status> |
<value> |
trans119 |
1'b0 |
<status> |
LOCAL |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
0 |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
output |
<status> |
GLOBAL_VAR |
</status> |
30528,25 → 33359,25
<page> |
3 |
</page> |
</name> |
<equation> |
</ref_delay> |
<pre_delay> |
<status> |
ABS |
GLOBAL_FIXED |
</status> |
<value> |
1 |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
1 |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
output |
<status> |
GLOBAL_VAR |
</status> |
30564,23 → 33395,23
</status> |
</color> |
<x2Obj> |
2 |
0 |
</x2Obj> |
<y2Obj> |
-5 |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</equation> |
<priority> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1000 |
!bl_ack |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
30590,7 → 33421,7
</status> |
</vis> |
<type> |
|
output |
<status> |
GLOBAL_VAR |
</status> |
30616,44 → 33447,23
<page> |
3 |
</page> |
</priority> |
</bl_en> |
</attributes> |
<startState> |
NOP30 |
</startState> |
<endState> |
NOP31 |
</endState> |
<startPtX> |
686.0 |
</startPtX> |
<startPtY> |
1032.0 |
</startPtY> |
<endPtX> |
563.0 |
</endPtX> |
<endPtY> |
1117.0 |
</endPtY> |
<startCtrlPtX> |
650.0 |
</startCtrlPtX> |
<startCtrlPtY> |
1058.0 |
</startCtrlPtY> |
<endCtrlPtY> |
603.0 |
</endCtrlPtY> |
<endCtrlPtY> |
1088.0 |
</endCtrlPtY> |
<startStateIndex> |
14 |
</startStateIndex> |
<endStateIndex> |
32 |
</endStateIndex> |
<x0> |
475 |
</x0> |
<y0> |
675 |
</y0> |
<x1> |
575 |
</x1> |
<y1> |
775 |
</y1> |
<reset> |
false |
</reset> |
<page> |
3 |
</page> |
30660,37 → 33470,10
<color> |
-16777216 |
</color> |
<pageSX> |
0.0 |
</PageSX> |
<pageSY> |
0.0 |
</pageSY> |
<pageSCX> |
0.0 |
</PageSCX> |
<pageSCY> |
0.0 |
</pageSCY> |
<pageEX> |
0.0 |
</PageEX> |
<pageEY> |
0.0 |
</pageEY> |
<pageECX> |
0.0 |
</PageECX> |
<pageECY> |
0.0 |
</pageECY> |
<stub> |
false |
</stub> |
</transition> |
## END STATE TRANSITION OBJECT |
## START STATE TRANSITION OBJECT |
<transition> |
</state> |
## END STATE OBJECT |
## START STATE OBJECT |
<state> |
<attributes> |
<name> |
<status> |
30697,13 → 33480,13
ABS |
</status> |
<value> |
trans122 |
NOP_tWR |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
0 |
1 |
<status> |
GLOBAL_VAR |
</status> |
30715,9 → 33498,9
</status> |
</type> |
<comment> |
|
Write Recovery Time |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</comment> |
<color> |
30736,24 → 33519,24
3 |
</page> |
</name> |
<equation> |
<cs_n> |
<status> |
ABS |
GLOBAL_FIXED |
</status> |
<value> |
1 |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
1 |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
output |
<status> |
GLOBAL_VAR |
</status> |
30771,21 → 33554,21
</status> |
</color> |
<x2Obj> |
7 |
0 |
</x2Obj> |
<y2Obj> |
9 |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</equation> |
<priority> |
</cs_n> |
<cmd[2:0]> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1000 |
`CMD_NOP |
<status> |
GLOBAL_VAR |
</status> |
30797,7 → 33580,7
</status> |
</vis> |
<type> |
|
output |
<status> |
GLOBAL_VAR |
</status> |
30823,100 → 33606,25
<page> |
3 |
</page> |
</priority> |
</attributes> |
<startState> |
WRITE_ADDR |
</startState> |
<endState> |
WRITE_DATA |
</endState> |
<startPtX> |
125.0 |
</startPtX> |
<startPtY> |
750.0 |
</startPtY> |
<endPtX> |
124.0 |
</endPtX> |
<endPtY> |
800.0 |
</endPtY> |
<startCtrlPtX> |
125.0 |
</startCtrlPtX> |
<startCtrlPtY> |
760.0 |
</startCtrlPtY> |
<endCtrlPtY> |
124.0 |
</endCtrlPtY> |
<endCtrlPtY> |
789.0 |
</endCtrlPtY> |
<startStateIndex> |
9 |
</startStateIndex> |
<endStateIndex> |
27 |
</endStateIndex> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
<pageSX> |
0.0 |
</PageSX> |
<pageSY> |
0.0 |
</pageSY> |
<pageSCX> |
0.0 |
</PageSCX> |
<pageSCY> |
0.0 |
</pageSCY> |
<pageEX> |
0.0 |
</PageEX> |
<pageEY> |
0.0 |
</pageEY> |
<pageECX> |
0.0 |
</PageECX> |
<pageECY> |
0.0 |
</pageECY> |
<stub> |
false |
</stub> |
</transition> |
## END STATE TRANSITION OBJECT |
## START STATE OBJECT |
<state> |
<attributes> |
<name> |
</cmd[2:0]> |
<a[14:0]> |
<status> |
ABS |
GLOBAL_FIXED |
</status> |
<value> |
NOP27 |
15'd0 |
<status> |
LOCAL |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
1 |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
output |
<status> |
GLOBAL_VAR |
</status> |
30942,8 → 33650,8
<page> |
3 |
</page> |
</name> |
<cs_n> |
</a[14:0]> |
<ref_ack> |
<status> |
GLOBAL_FIXED |
</status> |
30986,13 → 33694,13
<page> |
3 |
</page> |
</cs_n> |
<cmd[2:0]> |
</ref_ack> |
<adr_init> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
`CMD_NOP |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
31030,13 → 33738,13
<page> |
3 |
</page> |
</cmd[2:0]> |
<a[14:0]> |
</adr_init> |
<adr_inc> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
15'd0 |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
31074,8 → 33782,8
<page> |
3 |
</page> |
</a[14:0]> |
<ref_ack> |
</adr_inc> |
<fifo_re> |
<status> |
GLOBAL_FIXED |
</status> |
31118,13 → 33826,13
<page> |
3 |
</page> |
</ref_ack> |
<adr_init> |
</fifo_re> |
<dqm[1:0]> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
2'b00 |
<status> |
GLOBAL_VAR |
</status> |
31162,8 → 33870,8
<page> |
3 |
</page> |
</adr_init> |
<adr_inc> |
</dqm[1:0]> |
<read> |
<status> |
GLOBAL_FIXED |
</status> |
31206,8 → 33914,8
<page> |
3 |
</page> |
</adr_inc> |
<fifo_re> |
</read> |
<write> |
<status> |
GLOBAL_FIXED |
</status> |
31250,13 → 33958,13
<page> |
3 |
</page> |
</fifo_re> |
<dqm[1:0]> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
2'b00 |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
31294,13 → 34002,13
<page> |
3 |
</page> |
</dqm[1:0]> |
<read> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b1 |
!pre_delay_ack |
<status> |
LOCAL |
</status> |
31338,8 → 34046,8
<page> |
3 |
</page> |
</read> |
<write> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
31382,19 → 34090,19
<page> |
3 |
</page> |
</write> |
</bl_en> |
</attributes> |
<x0> |
675 |
475 |
</x0> |
<y0> |
650 |
1125 |
</y0> |
<x1> |
775 |
575 |
</x1> |
<y1> |
750 |
1225 |
</y1> |
<reset> |
false |
31415,7 → 34123,7
ABS |
</status> |
<value> |
NOP28 |
WRITE_BURST |
<status> |
LOCAL |
</status> |
31723,9 → 34431,9
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
!bl_ack |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
31756,7 → 34464,7
0 |
</x2Obj> |
<y2Obj> |
0 |
-1 |
</y2Obj> |
<page> |
3 |
31811,9 → 34519,9
GLOBAL_FIXED |
</status> |
<value> |
1'b1 |
1'b0 |
<status> |
LOCAL |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
31855,6 → 34563,50
GLOBAL_FIXED |
</status> |
<value> |
1'b1 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
-2 |
</x2Obj> |
<y2Obj> |
-2 |
</y2Obj> |
<page> |
3 |
</page> |
</write> |
<ref_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
31893,19 → 34645,107
<page> |
3 |
</page> |
</write> |
</ref_delay> |
<pre_delay> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
!bl_ack |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
-4 |
</y2Obj> |
<page> |
3 |
</page> |
</bl_en> |
</attributes> |
<x0> |
675 |
75 |
</x0> |
<y0> |
800 |
675 |
</y0> |
<x1> |
775 |
175 |
</x1> |
<y1> |
900 |
775 |
</y1> |
<reset> |
false |
31926,7 → 34766,7
ABS |
</status> |
<value> |
trans124 |
trans133 |
<status> |
LOCAL |
</status> |
32000,10 → 34840,10
</status> |
</color> |
<x2Obj> |
0 |
8 |
</x2Obj> |
<y2Obj> |
0 |
9 |
</y2Obj> |
<page> |
3 |
32055,34 → 34895,34
</priority> |
</attributes> |
<startState> |
NOP27 |
WRITE_ADDR |
</startState> |
<endState> |
NOP28 |
WRITE_BURST |
</endState> |
<startPtX> |
725.0 |
125.0 |
</startPtX> |
<startPtY> |
750.0 |
625.0 |
</startPtY> |
<endPtX> |
725.0 |
124.0 |
</endPtX> |
<endPtY> |
800.0 |
675.0 |
</endPtY> |
<startCtrlPtX> |
725.0 |
125.0 |
</startCtrlPtX> |
<startCtrlPtY> |
763.0 |
635.0 |
</startCtrlPtY> |
<endCtrlPtY> |
725.0 |
124.0 |
</endCtrlPtY> |
<endCtrlPtY> |
787.0 |
664.0 |
</endCtrlPtY> |
<startStateIndex> |
9 |
32133,7 → 34973,7
ABS |
</status> |
<value> |
trans125 |
trans134 |
<status> |
LOCAL |
</status> |
32177,9 → 35017,9
ABS |
</status> |
<value> |
1 |
pre_delay_ack |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
32207,10 → 35047,10
</status> |
</color> |
<x2Obj> |
4 |
-4 |
</x2Obj> |
<y2Obj> |
-4 |
14 |
</y2Obj> |
<page> |
3 |
32262,40 → 35102,40
</priority> |
</attributes> |
<startState> |
NOP28 |
NOP_tWR |
</startState> |
<endState> |
NOP29 |
PRECHARGE |
</endState> |
<startPtX> |
675.0 |
575.0 |
</startPtX> |
<startPtY> |
850.0 |
1175.0 |
</startPtY> |
<endPtX> |
575.0 |
675.0 |
</endPtX> |
<endPtY> |
850.0 |
1175.0 |
</endPtY> |
<startCtrlPtX> |
653.0 |
596.0 |
</startCtrlPtX> |
<startCtrlPtY> |
850.0 |
1175.0 |
</startCtrlPtY> |
<endCtrlPtY> |
596.0 |
653.0 |
</endCtrlPtY> |
<endCtrlPtY> |
850.0 |
1175.0 |
</endCtrlPtY> |
<startStateIndex> |
18 |
0 |
</startStateIndex> |
<endStateIndex> |
0 |
18 |
</endStateIndex> |
<page> |
3 |
32332,8 → 35172,8
</stub> |
</transition> |
## END STATE TRANSITION OBJECT |
## START STATE OBJECT |
<state> |
## START STATE TRANSITION OBJECT |
<transition> |
<attributes> |
<name> |
<status> |
32340,13 → 35180,13
ABS |
</status> |
<value> |
NOP32 |
trans135 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
1 |
0 |
<status> |
GLOBAL_VAR |
</status> |
32379,24 → 35219,24
3 |
</page> |
</name> |
<cs_n> |
<equation> |
<status> |
GLOBAL_FIXED |
ABS |
</status> |
<value> |
1'b0 |
1 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
1 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
def_type |
<status> |
GLOBAL_VAR |
</status> |
32417,18 → 35257,18
0 |
</x2Obj> |
<y2Obj> |
0 |
-4 |
</y2Obj> |
<page> |
3 |
</page> |
</cs_n> |
<cmd[2:0]> |
</equation> |
<priority> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
`CMD_NOP |
1000 |
<status> |
GLOBAL_VAR |
</status> |
32440,7 → 35280,7
</status> |
</vis> |
<type> |
output |
|
<status> |
GLOBAL_VAR |
</status> |
32466,25 → 35306,100
<page> |
3 |
</page> |
</cmd[2:0]> |
<a[14:0]> |
</priority> |
</attributes> |
<startState> |
NOP31 |
</startState> |
<endState> |
NOP_tWR |
</endState> |
<startPtX> |
375.0 |
</startPtX> |
<startPtY> |
1175.0 |
</startPtY> |
<endPtX> |
475.0 |
</endPtX> |
<endPtY> |
1175.0 |
</endPtY> |
<startCtrlPtX> |
396.0 |
</startCtrlPtX> |
<startCtrlPtY> |
1175.0 |
</startCtrlPtY> |
<endCtrlPtY> |
453.0 |
</endCtrlPtY> |
<endCtrlPtY> |
1175.0 |
</endCtrlPtY> |
<startStateIndex> |
0 |
</startStateIndex> |
<endStateIndex> |
18 |
</endStateIndex> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
<pageSX> |
0.0 |
</PageSX> |
<pageSY> |
0.0 |
</pageSY> |
<pageSCX> |
0.0 |
</PageSCX> |
<pageSCY> |
0.0 |
</pageSCY> |
<pageEX> |
0.0 |
</PageEX> |
<pageEY> |
0.0 |
</pageEY> |
<pageECX> |
0.0 |
</PageECX> |
<pageECY> |
0.0 |
</pageECY> |
<stub> |
false |
</stub> |
</transition> |
## END STATE TRANSITION OBJECT |
## START STATE TRANSITION OBJECT |
<transition> |
<attributes> |
<name> |
<status> |
GLOBAL_FIXED |
ABS |
</status> |
<value> |
15'd0 |
trans136 |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
2 |
0 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
def_type |
<status> |
GLOBAL_VAR |
</status> |
32510,25 → 35425,25
<page> |
3 |
</page> |
</a[14:0]> |
<ref_ack> |
</name> |
<equation> |
<status> |
GLOBAL_FIXED |
ABS |
</status> |
<value> |
1'b0 |
bl_ack |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
2 |
1 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
def_type |
<status> |
GLOBAL_VAR |
</status> |
32546,21 → 35461,21
</status> |
</color> |
<x2Obj> |
0 |
19 |
</x2Obj> |
<y2Obj> |
0 |
-6 |
</y2Obj> |
<page> |
3 |
</page> |
</ref_ack> |
<adr_init> |
</equation> |
<priority> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
1000 |
<status> |
GLOBAL_VAR |
</status> |
32572,7 → 35487,7
</status> |
</vis> |
<type> |
output |
|
<status> |
GLOBAL_VAR |
</status> |
32598,69 → 35513,100
<page> |
3 |
</page> |
</adr_init> |
<adr_inc> |
</priority> |
</attributes> |
<startState> |
WRITE_BURST |
</startState> |
<endState> |
NOP29 |
</endState> |
<startPtX> |
163.0 |
</startPtX> |
<startPtY> |
757.0 |
</startPtY> |
<endPtX> |
286.0 |
</endPtX> |
<endPtY> |
842.0 |
</endPtY> |
<startCtrlPtX> |
200.0 |
</startCtrlPtX> |
<startCtrlPtY> |
779.0 |
</startCtrlPtY> |
<endCtrlPtY> |
243.0 |
</endCtrlPtY> |
<endCtrlPtY> |
809.0 |
</endCtrlPtY> |
<startStateIndex> |
4 |
</startStateIndex> |
<endStateIndex> |
22 |
</endStateIndex> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
<pageSX> |
0.0 |
</PageSX> |
<pageSY> |
0.0 |
</pageSY> |
<pageSCX> |
0.0 |
</PageSCX> |
<pageSCY> |
0.0 |
</pageSCY> |
<pageEX> |
0.0 |
</PageEX> |
<pageEY> |
0.0 |
</pageEY> |
<pageECX> |
0.0 |
</PageECX> |
<pageECY> |
0.0 |
</pageECY> |
<stub> |
false |
</stub> |
</transition> |
## END STATE TRANSITION OBJECT |
## START STATE TRANSITION OBJECT |
<transition> |
<attributes> |
<name> |
<status> |
GLOBAL_FIXED |
ABS |
</status> |
<value> |
1'b0 |
trans137 |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</adr_inc> |
<fifo_re> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
def_type |
<status> |
GLOBAL_VAR |
</status> |
32686,25 → 35632,25
<page> |
3 |
</page> |
</fifo_re> |
<dqm[1:0]> |
</name> |
<equation> |
<status> |
GLOBAL_FIXED |
ABS |
</status> |
<value> |
2'b00 |
bl_ack |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
2 |
1 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
def_type |
<status> |
GLOBAL_VAR |
</status> |
32722,21 → 35668,21
</status> |
</color> |
<x2Obj> |
0 |
-7 |
</x2Obj> |
<y2Obj> |
0 |
-9 |
</y2Obj> |
<page> |
3 |
</page> |
</dqm[1:0]> |
<read> |
</equation> |
<priority> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
1000 |
<status> |
GLOBAL_VAR |
</status> |
32748,54 → 35694,10
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</read> |
<write> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
output |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
32818,23 → 35720,44
<page> |
3 |
</page> |
</write> |
</priority> |
</attributes> |
<x0> |
800 |
</x0> |
<y0> |
1100 |
</y0> |
<x1> |
900 |
</x1> |
<y1> |
1200 |
</y1> |
<reset> |
false |
</reset> |
<startState> |
READ_BURST |
</startState> |
<endState> |
NOP29 |
</endState> |
<startPtX> |
486.0 |
</startPtX> |
<startPtY> |
757.0 |
</startPtY> |
<endPtX> |
363.0 |
</endPtX> |
<endPtY> |
842.0 |
</endPtY> |
<startCtrlPtX> |
459.0 |
</startCtrlPtX> |
<startCtrlPtY> |
777.0 |
</startCtrlPtY> |
<endCtrlPtY> |
405.0 |
</endCtrlPtY> |
<endCtrlPtY> |
812.0 |
</endCtrlPtY> |
<startStateIndex> |
14 |
</startStateIndex> |
<endStateIndex> |
32 |
</endStateIndex> |
<page> |
3 |
</page> |
32841,8 → 35764,35
<color> |
-16777216 |
</color> |
</state> |
## END STATE OBJECT |
<pageSX> |
0.0 |
</PageSX> |
<pageSY> |
0.0 |
</pageSY> |
<pageSCX> |
0.0 |
</PageSCX> |
<pageSCY> |
0.0 |
</pageSCY> |
<pageEX> |
0.0 |
</PageEX> |
<pageEY> |
0.0 |
</pageEY> |
<pageECX> |
0.0 |
</PageECX> |
<pageECY> |
0.0 |
</pageECY> |
<stub> |
false |
</stub> |
</transition> |
## END STATE TRANSITION OBJECT |
## START STATE OBJECT |
<state> |
<attributes> |
32851,7 → 35801,7
ABS |
</status> |
<value> |
NOP33 |
NOP40 |
<status> |
LOCAL |
</status> |
33330,127 → 36280,12
3 |
</page> |
</write> |
</attributes> |
<x0> |
800 |
</x0> |
<y0> |
950 |
</y0> |
<x1> |
900 |
</x1> |
<y1> |
1050 |
</y1> |
<reset> |
false |
</reset> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
</state> |
## END STATE OBJECT |
## START STATE TRANSITION OBJECT |
<transition> |
<attributes> |
<name> |
<ref_delay> |
<status> |
ABS |
</status> |
<value> |
trans126 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
0 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</name> |
<equation> |
<status> |
ABS |
</status> |
<value> |
1 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
1 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
7 |
</x2Obj> |
<y2Obj> |
7 |
</y2Obj> |
<page> |
3 |
</page> |
</equation> |
<priority> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1000 |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
33462,7 → 36297,7
</status> |
</vis> |
<type> |
|
output |
<status> |
GLOBAL_VAR |
</status> |
33488,144 → 36323,25
<page> |
3 |
</page> |
</priority> |
</attributes> |
<startState> |
NOP32 |
</startState> |
<endState> |
NOP33 |
</endState> |
<startPtX> |
850.0 |
</startPtX> |
<startPtY> |
1100.0 |
</startPtY> |
<endPtX> |
850.0 |
</endPtX> |
<endPtY> |
1050.0 |
</endPtY> |
<startCtrlPtX> |
850.0 |
</startCtrlPtX> |
<startCtrlPtY> |
1094.0 |
</startCtrlPtY> |
<endCtrlPtY> |
850.0 |
</endCtrlPtY> |
<endCtrlPtY> |
1055.0 |
</endCtrlPtY> |
<startStateIndex> |
27 |
</startStateIndex> |
<endStateIndex> |
9 |
</endStateIndex> |
<page> |
3 |
</page> |
<color> |
-16777216 |
</color> |
<pageSX> |
0.0 |
</PageSX> |
<pageSY> |
0.0 |
</pageSY> |
<pageSCX> |
0.0 |
</PageSCX> |
<pageSCY> |
0.0 |
</pageSCY> |
<pageEX> |
0.0 |
</PageEX> |
<pageEY> |
0.0 |
</pageEY> |
<pageECX> |
0.0 |
</PageECX> |
<pageECY> |
0.0 |
</pageECY> |
<stub> |
false |
</stub> |
</transition> |
## END STATE TRANSITION OBJECT |
## START STATE TRANSITION OBJECT |
<transition> |
<attributes> |
<name> |
</ref_delay> |
<pre_delay> |
<status> |
ABS |
GLOBAL_FIXED |
</status> |
<value> |
trans127 |
1'b0 |
<status> |
LOCAL |
</status> |
</value> |
<vis> |
0 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
<status> |
GLOBAL_VAR |
</status> |
</type> |
<comment> |
|
<status> |
GLOBAL_VAR |
</status> |
</comment> |
<color> |
-16777216 |
<status> |
GLOBAL_VAR |
</status> |
</color> |
<x2Obj> |
0 |
</x2Obj> |
<y2Obj> |
0 |
</y2Obj> |
<page> |
3 |
</page> |
</name> |
<equation> |
<status> |
ABS |
</status> |
<value> |
1 |
<status> |
GLOBAL_VAR |
</status> |
</value> |
<vis> |
1 |
2 |
<status> |
GLOBAL_VAR |
</status> |
</vis> |
<type> |
def_type |
output |
<status> |
GLOBAL_VAR |
</status> |
33651,13 → 36367,13
<page> |
3 |
</page> |
</equation> |
<priority> |
</pre_delay> |
<bl_en> |
<status> |
GLOBAL_FIXED |
</status> |
<value> |
1000 |
1'b0 |
<status> |
GLOBAL_VAR |
</status> |
33669,7 → 36385,7
</status> |
</vis> |
<type> |
|
output |
<status> |
GLOBAL_VAR |
</status> |
33695,44 → 36411,23
<page> |
3 |
</page> |
</priority> |
</bl_en> |
</attributes> |
<startState> |
NOP33 |
</startState> |
<endState> |
PRECHARGE |
</endState> |
<startPtX> |
841.0 |
</startPtX> |
<startPtY> |
950.0 |
</startPtY> |
<endPtX> |
783.0 |
</endPtX> |
<endPtY> |
499.0 |
</endPtY> |
<startCtrlPtX> |
832.0 |
</startCtrlPtX> |
<startCtrlPtY> |
861.0 |
</startCtrlPtY> |
<endCtrlPtY> |
777.0 |
</endCtrlPtY> |
<endCtrlPtY> |
602.0 |
</endCtrlPtY> |
<startStateIndex> |
26 |
</startStateIndex> |
<endStateIndex> |
8 |
</endStateIndex> |
<x0> |
475 |
</x0> |
<y0> |
975 |
</y0> |
<x1> |
575 |
</x1> |
<y1> |
1075 |
</y1> |
<reset> |
false |
</reset> |
<page> |
3 |
</page> |
33739,35 → 36434,8
<color> |
-16777216 |
</color> |
<pageSX> |
0.0 |
</PageSX> |
<pageSY> |
0.0 |
</pageSY> |
<pageSCX> |
0.0 |
</PageSCX> |
<pageSCY> |
0.0 |
</pageSCY> |
<pageEX> |
0.0 |
</PageEX> |
<pageEY> |
0.0 |
</pageEY> |
<pageECX> |
0.0 |
</PageECX> |
<pageECY> |
0.0 |
</pageECY> |
<stub> |
false |
</stub> |
</transition> |
## END STATE TRANSITION OBJECT |
</state> |
## END STATE OBJECT |
## START STATE TRANSITION OBJECT |
<transition> |
<attributes> |
33776,7 → 36444,7
ABS |
</status> |
<value> |
trans130 |
trans138 |
<status> |
LOCAL |
</status> |
33820,9 → 36488,9
ABS |
</status> |
<value> |
1 |
adr_init_delay |
<status> |
GLOBAL_VAR |
LOCAL |
</status> |
</value> |
<vis> |
33853,7 → 36521,7
0 |
</x2Obj> |
<y2Obj> |
-3 |
0 |
</y2Obj> |
<page> |
3 |
33905,40 → 36573,40
</priority> |
</attributes> |
<startState> |
NOP31 |
NOP40 |
</startState> |
<endState> |
NOP32 |
NOP31 |
</endState> |
<startPtX> |
575.0 |
486.0 |
</startPtX> |
<startPtY> |
1150.0 |
1057.0 |
</startPtY> |
<endPtX> |
800.0 |
363.0 |
</endPtX> |
<endPtY> |
1150.0 |
1142.0 |
</endPtY> |
<startCtrlPtX> |
623.0 |
451.0 |
</startCtrlPtX> |
<startCtrlPtY> |
1150.0 |
1083.0 |
</startCtrlPtY> |
<endCtrlPtY> |
751.0 |
401.0 |
</endCtrlPtY> |
<endCtrlPtY> |
1150.0 |
1116.0 |
</endCtrlPtY> |
<startStateIndex> |
0 |
14 |
</startStateIndex> |
<endStateIndex> |
18 |
32 |
</endStateIndex> |
<page> |
3 |
/verilog/versatile_mem_ctrl_ip.v
1259,6 → 1259,274
qi <= q_next; |
assign q = q_next; |
endmodule |
////////////////////////////////////////////////////////////////////// |
//// //// |
//// Versatile memory controller //// |
//// //// |
//// Description //// |
//// A modular wishbone compatible memory controller with support//// |
//// for various types of memory configurations //// |
//// //// |
//// To Do: //// |
//// - add support for additional SDRAM variants //// |
//// //// |
//// Author(s): //// |
//// - Michael Unneback, unneback@opencores.org //// |
//// ORSoC AB //// |
//// //// |
////////////////////////////////////////////////////////////////////// |
//// //// |
//// Copyright (C) 2009 Authors and OPENCORES.ORG //// |
//// //// |
//// This source file may be used and distributed without //// |
//// restriction provided that this copyright statement is not //// |
//// removed from the file and that any derivative work contains //// |
//// the original copyright notice and the associated disclaimer. //// |
//// //// |
//// This source file is free software; you can redistribute it //// |
//// and/or modify it under the terms of the GNU Lesser General //// |
//// Public License as published by the Free Software Foundation; //// |
//// either version 2.1 of the License, or (at your option) any //// |
//// later version. //// |
//// //// |
//// This source is distributed in the hope that it will be //// |
//// useful, but WITHOUT ANY WARRANTY; without even the implied //// |
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR //// |
//// PURPOSE. See the GNU Lesser General Public License for more //// |
//// details. //// |
//// //// |
//// You should have received a copy of the GNU Lesser General //// |
//// Public License along with this source; if not, download it //// |
//// from http://www.opencores.org/lgpl.shtml //// |
//// //// |
////////////////////////////////////////////////////////////////////// |
module ref_delay_counter |
( |
input cke, |
output reg zq, |
input clk, |
input rst |
); |
parameter wrap_value = 6'd12; |
reg [6:1] qi; |
wire [6:1] q_next; |
assign q_next = |
(qi == wrap_value) ? 6'd0 : |
qi + 6'd1; |
always @ (posedge clk or posedge rst) |
if (rst) |
qi <= 6'd0; |
else |
if (cke) |
qi <= q_next; |
always @ (posedge clk or posedge rst) |
if (rst) |
zq <= 1'b1; |
else |
if (cke) |
zq <= q_next == 6'd0; |
endmodule |
////////////////////////////////////////////////////////////////////// |
//// //// |
//// Versatile memory controller //// |
//// //// |
//// Description //// |
//// A modular wishbone compatible memory controller with support//// |
//// for various types of memory configurations //// |
//// //// |
//// To Do: //// |
//// - add support for additional SDRAM variants //// |
//// //// |
//// Author(s): //// |
//// - Michael Unneback, unneback@opencores.org //// |
//// ORSoC AB //// |
//// //// |
////////////////////////////////////////////////////////////////////// |
//// //// |
//// Copyright (C) 2009 Authors and OPENCORES.ORG //// |
//// //// |
//// This source file may be used and distributed without //// |
//// restriction provided that this copyright statement is not //// |
//// removed from the file and that any derivative work contains //// |
//// the original copyright notice and the associated disclaimer. //// |
//// //// |
//// This source file is free software; you can redistribute it //// |
//// and/or modify it under the terms of the GNU Lesser General //// |
//// Public License as published by the Free Software Foundation; //// |
//// either version 2.1 of the License, or (at your option) any //// |
//// later version. //// |
//// //// |
//// This source is distributed in the hope that it will be //// |
//// useful, but WITHOUT ANY WARRANTY; without even the implied //// |
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR //// |
//// PURPOSE. See the GNU Lesser General Public License for more //// |
//// details. //// |
//// //// |
//// You should have received a copy of the GNU Lesser General //// |
//// Public License along with this source; if not, download it //// |
//// from http://www.opencores.org/lgpl.shtml //// |
//// //// |
////////////////////////////////////////////////////////////////////// |
module pre_delay_counter |
( |
input cke, |
output reg zq, |
input clk, |
input rst |
); |
parameter wrap_value = 4'd2; |
reg [4:1] qi; |
wire [4:1] q_next; |
assign q_next = |
(qi == wrap_value) ? 4'd0 : |
qi + 4'd1; |
always @ (posedge clk or posedge rst) |
if (rst) |
qi <= 4'd0; |
else |
if (cke) |
qi <= q_next; |
always @ (posedge clk or posedge rst) |
if (rst) |
zq <= 1'b1; |
else |
if (cke) |
zq <= q_next == 4'd0; |
endmodule |
////////////////////////////////////////////////////////////////////// |
//// //// |
//// Versatile memory controller //// |
//// //// |
//// Description //// |
//// A modular wishbone compatible memory controller with support//// |
//// for various types of memory configurations //// |
//// //// |
//// To Do: //// |
//// - add support for additional SDRAM variants //// |
//// //// |
//// Author(s): //// |
//// - Michael Unneback, unneback@opencores.org //// |
//// ORSoC AB //// |
//// //// |
////////////////////////////////////////////////////////////////////// |
//// //// |
//// Copyright (C) 2009 Authors and OPENCORES.ORG //// |
//// //// |
//// This source file may be used and distributed without //// |
//// restriction provided that this copyright statement is not //// |
//// removed from the file and that any derivative work contains //// |
//// the original copyright notice and the associated disclaimer. //// |
//// //// |
//// This source file is free software; you can redistribute it //// |
//// and/or modify it under the terms of the GNU Lesser General //// |
//// Public License as published by the Free Software Foundation; //// |
//// either version 2.1 of the License, or (at your option) any //// |
//// later version. //// |
//// //// |
//// This source is distributed in the hope that it will be //// |
//// useful, but WITHOUT ANY WARRANTY; without even the implied //// |
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR //// |
//// PURPOSE. See the GNU Lesser General Public License for more //// |
//// details. //// |
//// //// |
//// You should have received a copy of the GNU Lesser General //// |
//// Public License along with this source; if not, download it //// |
//// from http://www.opencores.org/lgpl.shtml //// |
//// //// |
////////////////////////////////////////////////////////////////////// |
module latency_counter |
( |
input cke, |
output reg zq, |
input clk, |
input rst |
); |
parameter wrap_value = 4'd3; |
reg [4:1] qi; |
wire [4:1] q_next; |
assign q_next = |
(qi == wrap_value) ? 4'd0 : |
qi + 4'd1; |
always @ (posedge clk or posedge rst) |
if (rst) |
qi <= 4'd0; |
else |
if (cke) |
qi <= q_next; |
always @ (posedge clk or posedge rst) |
if (rst) |
zq <= 1'b1; |
else |
if (cke) |
zq <= q_next == 4'd0; |
endmodule |
////////////////////////////////////////////////////////////////////// |
//// //// |
//// Versatile memory controller //// |
//// //// |
//// Description //// |
//// A modular wishbone compatible memory controller with support//// |
//// for various types of memory configurations //// |
//// //// |
//// To Do: //// |
//// - add support for additional SDRAM variants //// |
//// //// |
//// Author(s): //// |
//// - Michael Unneback, unneback@opencores.org //// |
//// ORSoC AB //// |
//// //// |
////////////////////////////////////////////////////////////////////// |
//// //// |
//// Copyright (C) 2009 Authors and OPENCORES.ORG //// |
//// //// |
//// This source file may be used and distributed without //// |
//// restriction provided that this copyright statement is not //// |
//// removed from the file and that any derivative work contains //// |
//// the original copyright notice and the associated disclaimer. //// |
//// //// |
//// This source file is free software; you can redistribute it //// |
//// and/or modify it under the terms of the GNU Lesser General //// |
//// Public License as published by the Free Software Foundation; //// |
//// either version 2.1 of the License, or (at your option) any //// |
//// later version. //// |
//// //// |
//// This source is distributed in the hope that it will be //// |
//// useful, but WITHOUT ANY WARRANTY; without even the implied //// |
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR //// |
//// PURPOSE. See the GNU Lesser General Public License for more //// |
//// details. //// |
//// //// |
//// You should have received a copy of the GNU Lesser General //// |
//// Public License along with this source; if not, download it //// |
//// from http://www.opencores.org/lgpl.shtml //// |
//// //// |
////////////////////////////////////////////////////////////////////// |
module burst_length_counter |
( |
input cke, |
output reg zq, |
input clk, |
input rst |
); |
parameter wrap_value = 3'd3; |
reg [3:1] qi; |
wire [3:1] q_next; |
assign q_next = |
(qi == wrap_value) ? 3'd0 : |
qi + 3'd1; |
always @ (posedge clk or posedge rst) |
if (rst) |
qi <= 3'd0; |
else |
if (cke) |
qi <= q_next; |
always @ (posedge clk or posedge rst) |
if (rst) |
zq <= 1'b1; |
else |
if (cke) |
zq <= q_next == 3'd0; |
endmodule |
`timescale 1ns/1ns |
module sdr_16 ( |
output reg [14:0] a, |
1627,18 → 1895,25
output reg [14:0] a, |
output reg adr_inc, |
output reg adr_init, |
output reg bl_en, |
output reg [2:0] cmd, |
output reg cs_n, |
output reg [1:0] dqm, |
output reg fifo_re, |
output reg pre_delay, |
output reg read, |
output reg ref_ack, |
output reg ref_delay, |
output reg write, |
input wire adr_init_delay, |
input wire bl_ack, |
input wire [3:0] burst_adr, |
input wire cke_en, |
input wire done, |
input wire [7:0] fifo_empty, |
input wire [2:0] fifo_sel, |
input wire pre_delay_ack, |
input wire ref_delay_ack, |
input wire ref_req, |
input wire sdram_clk, |
input wire [35:0] tx_fifo_dat_o, |
1645,134 → 1920,135
input wire wb_rst |
); |
parameter |
IDLE = 0, |
ACT_ROW = 1, |
AREF = 2, |
AWAIT_CMD = 3, |
LEMR2 = 4, |
LEMR3 = 5, |
LEMR_0 = 6, |
LEMR_1 = 7, |
LEMR_2 = 8, |
LMR_0 = 9, |
LMR_1 = 10, |
NOP0 = 11, |
NOP1 = 12, |
NOP10 = 13, |
NOP11 = 14, |
NOP2 = 15, |
NOP20 = 16, |
NOP21 = 17, |
NOP22 = 18, |
NOP25 = 19, |
NOP26 = 20, |
NOP27 = 21, |
NOP28 = 22, |
NOP29 = 23, |
NOP3 = 24, |
NOP30 = 25, |
NOP31 = 26, |
NOP32 = 27, |
NOP33 = 28, |
NOP4 = 29, |
NOP5 = 30, |
NOP6 = 31, |
NOP7 = 32, |
NOP8 = 33, |
NOP9 = 34, |
PRE = 35, |
PRECHARGE = 36, |
PRE_ALL_0 = 37, |
READ = 38, |
READ_ADDR = 39, |
REF_0 = 40, |
REF_1 = 41, |
WRITE_ADDR = 42, |
WRITE_DATA = 43; |
reg [43:0] state; |
reg [43:0] nextstate; |
IDLE = 0, |
ACT_ROW = 1, |
AREF = 2, |
AWAIT_CMD = 3, |
LEMR2 = 4, |
LEMR3 = 5, |
LEMR_0 = 6, |
LEMR_1 = 7, |
LEMR_2 = 8, |
LMR_0 = 9, |
LMR_1 = 10, |
NOP0 = 11, |
NOP1 = 12, |
NOP10 = 13, |
NOP11 = 14, |
NOP2 = 15, |
NOP26 = 16, |
NOP29 = 17, |
NOP3 = 18, |
NOP30 = 19, |
NOP31 = 20, |
NOP4 = 21, |
NOP40 = 22, |
NOP5 = 23, |
NOP6 = 24, |
NOP7 = 25, |
NOP8 = 26, |
NOP9 = 27, |
NOP_tRCD = 28, |
NOP_tRFC = 29, |
NOP_tWR = 30, |
PRE = 31, |
PRECHARGE = 32, |
PRE_ALL_0 = 33, |
READ_ADDR = 34, |
READ_BURST = 35, |
REF_0 = 36, |
REF_1 = 37, |
WRITE_ADDR = 38, |
WRITE_BURST = 39; |
reg [39:0] state; |
reg [39:0] nextstate; |
always @* begin |
nextstate = 44'b00000000000000000000000000000000000000000000; |
nextstate = 40'b0000000000000000000000000000000000000000; |
adr_inc = 1'b0; |
adr_init = 1'b0; |
bl_en = 1'b0; |
fifo_re = 1'b0; |
pre_delay = 1'b0; |
read = 1'b0; |
ref_ack = 1'b0; |
ref_delay = 1'b0; |
write = 1'b0; |
case (1'b1) |
state[IDLE] : begin |
state[IDLE] : begin |
begin |
nextstate[NOP0] = 1'b1; |
end |
end |
state[ACT_ROW] : begin |
state[ACT_ROW] : begin |
if (tx_fifo_dat_o[5]) begin |
nextstate[NOP22] = 1'b1; |
nextstate[NOP_tRCD] = 1'b1; |
end |
else begin |
nextstate[NOP26] = 1'b1; |
end |
end |
state[AREF] : begin |
state[AREF] : begin |
ref_ack = 1'b1; |
ref_delay = 1'b1; |
begin |
nextstate[NOP21] = 1'b1; |
nextstate[NOP_tRFC] = 1'b1; |
end |
end |
state[AWAIT_CMD] : begin |
state[AWAIT_CMD] : begin |
adr_init = !(&fifo_empty); |
if (ref_req) begin |
nextstate[AREF] = 1'b1; |
end |
else if (!(&fifo_empty)) begin |
nextstate[NOP20] = 1'b1; |
nextstate[ACT_ROW] = 1'b1; |
end |
else begin |
nextstate[AWAIT_CMD] = 1'b1; |
end |
end |
state[LEMR2] : begin |
state[LEMR2] : begin |
ref_ack = 1'b1; |
begin |
nextstate[NOP2] = 1'b1; |
end |
end |
state[LEMR3] : begin |
state[LEMR3] : begin |
ref_ack = 1'b1; |
begin |
nextstate[NOP3] = 1'b1; |
end |
end |
state[LEMR_0] : begin |
state[LEMR_0] : begin |
ref_ack = 1'b1; |
begin |
nextstate[NOP4] = 1'b1; |
end |
end |
state[LEMR_1] : begin |
state[LEMR_1] : begin |
ref_ack = 1'b1; |
begin |
nextstate[NOP10] = 1'b1; |
end |
end |
state[LEMR_2] : begin |
state[LEMR_2] : begin |
ref_ack = 1'b1; |
begin |
nextstate[NOP11] = 1'b1; |
end |
end |
state[LMR_0] : begin |
state[LMR_0] : begin |
ref_ack = 1'b1; |
begin |
nextstate[NOP5] = 1'b1; |
end |
end |
state[LMR_1] : begin |
state[LMR_1] : begin |
ref_ack = 1'b1; |
begin |
nextstate[NOP9] = 1'b1; |
end |
end |
state[NOP0] : begin |
state[NOP0] : begin |
if (cke_en) begin |
nextstate[PRE] = 1'b1; |
end |
1780,7 → 2056,7
nextstate[NOP0] = 1'b1; |
end |
end |
state[NOP1] : begin |
state[NOP1] : begin |
if (ref_req) begin |
nextstate[LEMR2] = 1'b1; |
end |
1788,7 → 2064,7
nextstate[NOP1] = 1'b1; |
end |
end |
state[NOP10] : begin |
state[NOP10] : begin |
if (ref_req) begin |
nextstate[LEMR_2] = 1'b1; |
end |
1796,7 → 2072,7
nextstate[NOP10] = 1'b1; |
end |
end |
state[NOP11] : begin |
state[NOP11] : begin |
if (ref_req) begin |
nextstate[AWAIT_CMD] = 1'b1; |
end |
1804,7 → 2080,7
nextstate[NOP11] = 1'b1; |
end |
end |
state[NOP2] : begin |
state[NOP2] : begin |
if (ref_req) begin |
nextstate[LEMR3] = 1'b1; |
end |
1812,51 → 2088,20
nextstate[NOP2] = 1'b1; |
end |
end |
state[NOP20] : begin |
if (ref_req) begin |
nextstate[ACT_ROW] = 1'b1; |
end |
else begin |
nextstate[NOP20] = 1'b1; |
end |
end |
state[NOP21] : begin |
state[NOP26] : begin |
begin |
nextstate[AWAIT_CMD] = 1'b1; |
end |
end |
state[NOP22] : begin |
begin |
nextstate[WRITE_ADDR] = 1'b1; |
end |
end |
state[NOP25] : begin |
fifo_re = 1'b1; |
begin |
nextstate[NOP31] = 1'b1; |
end |
end |
state[NOP26] : begin |
begin |
nextstate[READ_ADDR] = 1'b1; |
end |
end |
state[NOP27] : begin |
begin |
nextstate[NOP28] = 1'b1; |
state[NOP29] : begin |
if (done) begin |
nextstate[NOP30] = 1'b1; |
end |
end |
state[NOP28] : begin |
begin |
nextstate[NOP29] = 1'b1; |
else begin |
nextstate[NOP29] = 1'b1; |
end |
end |
state[NOP29] : begin |
begin |
nextstate[READ] = 1'b1; |
end |
end |
state[NOP3] : begin |
state[NOP3] : begin |
if (ref_req) begin |
nextstate[LEMR_0] = 1'b1; |
end |
1864,29 → 2109,20
nextstate[NOP3] = 1'b1; |
end |
end |
state[NOP30] : begin |
state[NOP30] : begin |
fifo_re = 1'b1; |
begin |
nextstate[NOP31] = 1'b1; |
nextstate[NOP40] = 1'b1; |
end |
end |
state[NOP31] : begin |
state[NOP31] : begin |
adr_init = 1'b1; |
pre_delay = 1'b1; |
begin |
nextstate[NOP32] = 1'b1; |
nextstate[NOP_tWR] = 1'b1; |
end |
end |
state[NOP32] : begin |
begin |
nextstate[NOP33] = 1'b1; |
end |
end |
state[NOP33] : begin |
begin |
nextstate[PRECHARGE] = 1'b1; |
end |
end |
state[NOP4] : begin |
state[NOP4] : begin |
if (ref_req) begin |
nextstate[LMR_0] = 1'b1; |
end |
1894,7 → 2130,15
nextstate[NOP4] = 1'b1; |
end |
end |
state[NOP5] : begin |
state[NOP40] : begin |
if (adr_init_delay) begin |
nextstate[NOP31] = 1'b1; |
end |
else begin |
nextstate[NOP40] = 1'b1; |
end |
end |
state[NOP5] : begin |
if (ref_req) begin |
nextstate[PRE_ALL_0] = 1'b1; |
end |
1902,7 → 2146,7
nextstate[NOP5] = 1'b1; |
end |
end |
state[NOP6] : begin |
state[NOP6] : begin |
if (ref_req) begin |
nextstate[REF_0] = 1'b1; |
end |
1910,7 → 2154,7
nextstate[NOP6] = 1'b1; |
end |
end |
state[NOP7] : begin |
state[NOP7] : begin |
if (ref_req) begin |
nextstate[REF_1] = 1'b1; |
end |
1918,7 → 2162,7
nextstate[NOP7] = 1'b1; |
end |
end |
state[NOP8] : begin |
state[NOP8] : begin |
if (ref_req) begin |
nextstate[LMR_1] = 1'b1; |
end |
1926,7 → 2170,7
nextstate[NOP8] = 1'b1; |
end |
end |
state[NOP9] : begin |
state[NOP9] : begin |
if (ref_req) begin |
nextstate[LEMR_1] = 1'b1; |
end |
1934,69 → 2178,92
nextstate[NOP9] = 1'b1; |
end |
end |
state[PRE] : begin |
state[NOP_tRCD] : begin |
begin |
nextstate[WRITE_ADDR] = 1'b1; |
end |
end |
state[NOP_tRFC] : begin |
ref_delay = !ref_delay_ack; |
if (ref_delay_ack) begin |
nextstate[AWAIT_CMD] = 1'b1; |
end |
else begin |
nextstate[NOP_tRFC] = 1'b1; |
end |
end |
state[NOP_tWR] : begin |
pre_delay = !pre_delay_ack; |
if (pre_delay_ack) begin |
nextstate[PRECHARGE] = 1'b1; |
end |
else begin |
nextstate[NOP_tWR] = 1'b1; |
end |
end |
state[PRE] : begin |
ref_ack = 1'b1; |
begin |
nextstate[NOP1] = 1'b1; |
end |
end |
state[PRECHARGE] : begin |
state[PRECHARGE] : begin |
begin |
nextstate[AWAIT_CMD] = 1'b1; |
end |
end |
state[PRE_ALL_0] : begin |
state[PRE_ALL_0] : begin |
ref_ack = 1'b1; |
begin |
nextstate[NOP6] = 1'b1; |
end |
end |
state[READ] : begin |
adr_inc = !done; |
if (done) begin |
nextstate[NOP30] = 1'b1; |
state[READ_ADDR] : begin |
bl_en = 1'b1; |
read = 1'b1; |
begin |
nextstate[READ_BURST] = 1'b1; |
end |
end |
state[READ_BURST] : begin |
bl_en = !bl_ack; |
read = !bl_ack; |
if (bl_ack) begin |
nextstate[NOP29] = 1'b1; |
end |
else begin |
nextstate[READ] = 1'b1; |
nextstate[READ_BURST] = 1'b1; |
end |
end |
state[READ_ADDR] : begin |
begin |
nextstate[NOP27] = 1'b1; |
end |
end |
state[REF_0] : begin |
state[REF_0] : begin |
ref_ack = 1'b1; |
begin |
nextstate[NOP7] = 1'b1; |
end |
end |
state[REF_1] : begin |
state[REF_1] : begin |
ref_ack = 1'b1; |
begin |
nextstate[NOP8] = 1'b1; |
end |
end |
state[WRITE_ADDR]: begin |
adr_inc = !done & !fifo_empty[fifo_sel]; |
state[WRITE_ADDR] : begin |
bl_en = 1'b1; |
fifo_re = 1'b1; |
write = 1'b1; |
begin |
nextstate[WRITE_DATA] = 1'b1; |
nextstate[WRITE_BURST] = 1'b1; |
end |
end |
state[WRITE_DATA]: begin |
adr_inc = !done & !fifo_empty[fifo_sel]; |
fifo_re = !done; |
state[WRITE_BURST]: begin |
bl_en = !bl_ack; |
fifo_re = !bl_ack; |
write = 1'b1; |
if (done) begin |
nextstate[NOP25] = 1'b1; |
if (bl_ack) begin |
nextstate[NOP29] = 1'b1; |
end |
else if (!fifo_empty[fifo_sel]) begin |
nextstate[WRITE_DATA] = 1'b1; |
end |
else begin |
nextstate[WRITE_DATA] = 1'b1; |
nextstate[WRITE_BURST] = 1'b1; |
end |
end |
endcase |
2003,7 → 2270,7
end |
always @(posedge sdram_clk or posedge wb_rst) begin |
if (wb_rst) |
state <= 44'b00000000000000000000000000000000000000000001 << IDLE; |
state <= 40'b0000000000000000000000000000000000000001 << IDLE; |
else |
state <= nextstate; |
end |
2013,7 → 2280,6
cmd[2:0] <= 3'b111; |
cs_n <= 1'b1; |
dqm[1:0] <= 2'b00; |
read <= 1'b0; |
end |
else begin |
a[14:0] <= 15'd0; |
2020,131 → 2286,111
cmd[2:0] <= 3'b111; |
cs_n <= 1'b0; |
dqm[1:0] <= 2'b00; |
read <= 1'b0; |
case (1'b1) |
nextstate[IDLE] : begin |
nextstate[IDLE] : begin |
cs_n <= 1'b1; |
end |
nextstate[ACT_ROW] : begin |
nextstate[ACT_ROW] : begin |
a[14:0] <= {tx_fifo_dat_o[28:27],tx_fifo_dat_o[26:14]}; |
cmd[2:0] <= 3'b011; |
end |
nextstate[AREF] : begin |
nextstate[AREF] : begin |
a[14:0] <= a; |
cmd[2:0] <= 3'b001; |
end |
nextstate[AWAIT_CMD] : begin |
nextstate[AWAIT_CMD] : begin |
a[14:0] <= a; |
cs_n <= 1'b1; |
end |
nextstate[LEMR2] : begin |
nextstate[LEMR2] : begin |
a[14:0] <= {2'b10,5'b00000,1'b0,7'b0000000}; |
cmd[2:0] <= 3'b000; |
end |
nextstate[LEMR3] : begin |
nextstate[LEMR3] : begin |
a[14:0] <= {2'b11,13'b0000000000000}; |
cmd[2:0] <= 3'b000; |
end |
nextstate[LEMR_0] : begin |
nextstate[LEMR_0] : begin |
a[14:0] <= {2'b01,1'b0,1'b0,1'b0,3'b000,1'b0,3'b000,1'b0,1'b0,1'b0}; |
cmd[2:0] <= 3'b000; |
end |
nextstate[LEMR_1] : begin |
nextstate[LEMR_1] : begin |
a[14:0] <= {2'b01,1'b0,1'b0,1'b0,3'b111,1'b0,3'b000,1'b0,1'b0,1'b0}; |
cmd[2:0] <= 3'b000; |
end |
nextstate[LEMR_2] : begin |
nextstate[LEMR_2] : begin |
a[14:0] <= {2'b01,1'b0,1'b0,1'b0,3'b000,1'b0,3'b000,1'b0,1'b0,1'b0}; |
cmd[2:0] <= 3'b000; |
end |
nextstate[LMR_0] : begin |
nextstate[LMR_0] : begin |
a[14:0] <= {2'b00,4'b0000,1'b1,8'b00000000}; |
cmd[2:0] <= 3'b000; |
end |
nextstate[LMR_1] : begin |
a[14:0] <= {2'b00,1'b0,3'b001,1'b0,1'b0,1'b0,3'b100,1'b0,3'b011}; |
nextstate[LMR_1] : begin |
a[14:0] <= {2'b00,1'b0,3'b001,1'b0,1'b0,1'b0,3'b111,1'b0,3'b011}; |
cmd[2:0] <= 3'b000; |
end |
nextstate[NOP1] : begin |
nextstate[NOP1] : begin |
a[14:0] <= a; |
end |
nextstate[NOP10] : begin |
nextstate[NOP10] : begin |
a[14:0] <= a; |
end |
nextstate[NOP11] : begin |
nextstate[NOP11] : begin |
a[14:0] <= a; |
end |
nextstate[NOP2] : begin |
nextstate[NOP2] : begin |
a[14:0] <= a; |
end |
nextstate[NOP22] : begin |
nextstate[NOP3] : begin |
a[14:0] <= a; |
end |
nextstate[NOP26] : begin |
a[14:0] <= a[14:0]; |
end |
nextstate[NOP27] : begin |
read <= 1'b1; |
end |
nextstate[NOP28] : begin |
read <= 1'b1; |
end |
nextstate[NOP29] : begin |
read <= 1'b1; |
end |
nextstate[NOP3] : begin |
nextstate[NOP31] : begin |
a[14:0] <= a; |
end |
nextstate[NOP31] : begin |
nextstate[NOP4] : begin |
a[14:0] <= a; |
end |
nextstate[NOP4] : begin |
nextstate[NOP5] : begin |
a[14:0] <= a; |
end |
nextstate[NOP5] : begin |
nextstate[NOP6] : begin |
a[14:0] <= a; |
end |
nextstate[NOP6] : begin |
nextstate[NOP7] : begin |
a[14:0] <= a; |
end |
nextstate[NOP7] : begin |
nextstate[NOP8] : begin |
a[14:0] <= a; |
end |
nextstate[NOP8] : begin |
nextstate[NOP9] : begin |
a[14:0] <= a; |
end |
nextstate[NOP9] : begin |
a[14:0] <= a; |
end |
nextstate[PRE] : begin |
nextstate[PRE] : begin |
a[14:0] <= {2'b00,13'b0010000000000}; |
cmd[2:0] <= 3'b010; |
end |
nextstate[PRECHARGE] : begin |
nextstate[PRECHARGE] : begin |
a[14:0] <= {2'b00,13'b0010000000000}; |
cmd[2:0] <= 3'b010; |
end |
nextstate[PRE_ALL_0] : begin |
nextstate[PRE_ALL_0] : begin |
a[14:0] <= {2'b00,13'b0010000000000}; |
cmd[2:0] <= 3'b010; |
end |
nextstate[READ] : begin |
a[14:0] <= a; |
end |
nextstate[READ_ADDR] : begin |
nextstate[READ_ADDR] : begin |
a[14:0] <= {tx_fifo_dat_o[28:27],{4'b0000,tx_fifo_dat_o[13:10],burst_adr,1'b0}}; |
cmd[2:0] <= 3'b101; |
read <= 1'b1; |
end |
nextstate[REF_0] : begin |
nextstate[REF_0] : begin |
a[14:0] <= a; |
cmd[2:0] <= 3'b001; |
end |
nextstate[REF_1] : begin |
nextstate[REF_1] : begin |
a[14:0] <= a; |
cmd[2:0] <= 3'b001; |
end |
nextstate[WRITE_ADDR]: begin |
nextstate[WRITE_ADDR] : begin |
a[14:0] <= {tx_fifo_dat_o[28:27],{4'b0000,tx_fifo_dat_o[13:10],burst_adr,1'b0}}; |
cmd[2:0] <= 3'b100; |
end |
2151,99 → 2397,91
endcase |
end |
end |
reg [79:0] statename; |
reg [87:0] statename; |
always @* begin |
case (1'b1) |
state[IDLE] : |
state[IDLE] : |
statename = "IDLE"; |
state[ACT_ROW] : |
state[ACT_ROW] : |
statename = "ACT_ROW"; |
state[AREF] : |
state[AREF] : |
statename = "AREF"; |
state[AWAIT_CMD] : |
state[AWAIT_CMD] : |
statename = "AWAIT_CMD"; |
state[LEMR2] : |
state[LEMR2] : |
statename = "LEMR2"; |
state[LEMR3] : |
state[LEMR3] : |
statename = "LEMR3"; |
state[LEMR_0] : |
state[LEMR_0] : |
statename = "LEMR_0"; |
state[LEMR_1] : |
state[LEMR_1] : |
statename = "LEMR_1"; |
state[LEMR_2] : |
state[LEMR_2] : |
statename = "LEMR_2"; |
state[LMR_0] : |
state[LMR_0] : |
statename = "LMR_0"; |
state[LMR_1] : |
state[LMR_1] : |
statename = "LMR_1"; |
state[NOP0] : |
state[NOP0] : |
statename = "NOP0"; |
state[NOP1] : |
state[NOP1] : |
statename = "NOP1"; |
state[NOP10] : |
state[NOP10] : |
statename = "NOP10"; |
state[NOP11] : |
state[NOP11] : |
statename = "NOP11"; |
state[NOP2] : |
state[NOP2] : |
statename = "NOP2"; |
state[NOP20] : |
statename = "NOP20"; |
state[NOP21] : |
statename = "NOP21"; |
state[NOP22] : |
statename = "NOP22"; |
state[NOP25] : |
statename = "NOP25"; |
state[NOP26] : |
state[NOP26] : |
statename = "NOP26"; |
state[NOP27] : |
statename = "NOP27"; |
state[NOP28] : |
statename = "NOP28"; |
state[NOP29] : |
state[NOP29] : |
statename = "NOP29"; |
state[NOP3] : |
state[NOP3] : |
statename = "NOP3"; |
state[NOP30] : |
state[NOP30] : |
statename = "NOP30"; |
state[NOP31] : |
state[NOP31] : |
statename = "NOP31"; |
state[NOP32] : |
statename = "NOP32"; |
state[NOP33] : |
statename = "NOP33"; |
state[NOP4] : |
state[NOP4] : |
statename = "NOP4"; |
state[NOP5] : |
state[NOP40] : |
statename = "NOP40"; |
state[NOP5] : |
statename = "NOP5"; |
state[NOP6] : |
state[NOP6] : |
statename = "NOP6"; |
state[NOP7] : |
state[NOP7] : |
statename = "NOP7"; |
state[NOP8] : |
state[NOP8] : |
statename = "NOP8"; |
state[NOP9] : |
state[NOP9] : |
statename = "NOP9"; |
state[PRE] : |
state[NOP_tRCD] : |
statename = "NOP_tRCD"; |
state[NOP_tRFC] : |
statename = "NOP_tRFC"; |
state[NOP_tWR] : |
statename = "NOP_tWR"; |
state[PRE] : |
statename = "PRE"; |
state[PRECHARGE] : |
state[PRECHARGE] : |
statename = "PRECHARGE"; |
state[PRE_ALL_0] : |
state[PRE_ALL_0] : |
statename = "PRE_ALL_0"; |
state[READ] : |
statename = "READ"; |
state[READ_ADDR] : |
state[READ_ADDR] : |
statename = "READ_ADDR"; |
state[REF_0] : |
state[READ_BURST] : |
statename = "READ_BURST"; |
state[REF_0] : |
statename = "REF_0"; |
state[REF_1] : |
state[REF_1] : |
statename = "REF_1"; |
state[WRITE_ADDR]: |
state[WRITE_ADDR] : |
statename = "WRITE_ADDR"; |
state[WRITE_DATA]: |
statename = "WRITE_DATA"; |
default : |
statename = "XXXXXXXXXX"; |
state[WRITE_BURST]: |
statename = "WRITE_BURST"; |
default : |
statename = "XXXXXXXXXXX"; |
endcase |
end |
endmodule |
2400,6 → 2638,8
output ck_pad_o, |
output ck_n_pad_o, |
output cke_pad_o, |
output ck_fb_pad_o, |
input ck_fb_pad_i, |
output cs_n_pad_o, |
output ras_pad_o, |
output cas_pad_o, |
2408,14 → 2648,17
output [1:0] dm_rdqs_o, |
output [1:0] ba_pad_o, |
output [12:0] addr_pad_o, |
input [15:0] dq_i, |
output [15:0] dq_o, |
output dq_oe, |
input [1:0] dqs_i, |
output [1:0] dqs_o, |
//input [15:0] dq_i, |
//output [15:0] dq_o, |
inout [15:0] dq_pad_io, |
//output dq_oe, |
//input [1:0] dqs_i, |
//output [1:0] dqs_o, |
inout [1:0] dqs_pad_io, |
output dqs_oe, |
input [1:0] dqs_n_i, |
output [1:0] dqs_n_o, |
//input [1:0] dqs_n_i, |
//output [1:0] dqs_n_o, |
inout [1:0] dqs_n_pad_io, |
input [1:0] rdqs_n_pad_i, |
output odt_pad_o, |
`endif |
2842,7 → 3085,7
.bte_i(tx_fifo_dat_o[4:3]), |
.cti_i(tx_fifo_dat_o[2:0]), |
.init(adr_init), |
.inc(adr_inc), |
.inc(adr_inc | rx_fifo_we), |
.adr_o(burst_adr), |
.done(done), |
.clk(sdram_clk_0), |
2864,8 → 3107,8
ref_req <= 1'b1; |
else if (ref_ack) |
ref_req <= 1'b0; |
|
|
|
`ifdef SDR_16 |
wire read; |
reg [15:0] dq_i_reg, dq_i_tmp_reg; |
2936,29 → 3179,36
|
|
`ifdef DDR_16 |
wire read, write; |
wire read, write; |
wire [15:0] dq_hi_reg, dq_lo_reg; |
wire sdram_clk_180, sdram_clk_90, sdram_clk_270; |
wire sdram_bufg_clk_0, sdram_bufg_clk_180, sdram_bufg_clk_90, sdram_bufg_clk_270; |
reg cke_en; |
reg cke, ras, cas, we, cs_n; |
wire ras_o, cas_o, we_o, cs_n_o; |
wire [1:0] ba_o; |
wire sdram_clk_180, sdram_clk_90, sdram_clk_270; |
wire sdram_bufg_clk_0, sdram_bufg_clk_180, sdram_bufg_clk_90, sdram_bufg_clk_270; |
wire sdram_clk_ibufg; |
wire ck_fb, ck_fb_bufg, ck_fb_ibufg; |
reg cke_en; |
reg cke, ras, cas, we, cs_n; |
wire ras_o, cas_o, we_o, cs_n_o; |
wire [1:0] ba_o; |
wire [12:0] addr_o; |
reg [1:0] ba; |
reg [1:0] ba; |
reg [12:0] addr; |
wire [14:0] cke_delay_cnt; |
wire dq_en, dqs_en; |
wire dq_en, dqs_en; |
reg [35:0] rx_fifo_dat_pipe; |
reg [31:0] tx_fifo_dat_pipe; |
genvar i; |
wire [31:0] dq_o, dq_i; |
wire ref_delay, ref_delay_ack, pre_delay, pre_delay_ack; |
wire bl_en, bl_ack; |
wire tx_fifo_re_i, adr_init_delay; |
reg adr_init_delay_i; |
genvar i; |
|
// DDR SDRAM 16 FSM |
ddr_16 ddr_16_0 |
( |
.adr_inc(adr_inc), |
.adr_inc(), |
.adr_init(adr_init), |
.fifo_re(tx_fifo_re), |
.fifo_re(tx_fifo_re_i), |
.tx_fifo_dat_o(tx_fifo_dat_o), |
.burst_adr(burst_adr), |
.done(done), |
2969,6 → 3219,15
// refresh |
.ref_req(ref_req), |
.ref_ack(ref_ack), |
.ref_delay(ref_delay), |
.ref_delay_ack(ref_delay_ack), |
.adr_init_delay(adr_init_delay), |
// |
.pre_delay(pre_delay), |
.pre_delay_ack(pre_delay_ack), |
// burst latency |
.bl_en(bl_en), |
.bl_ack(bl_ack), |
// sdram |
.dqm(dm_rdqs_o), |
.a({ba_o,addr_o}), |
2995,6 → 3254,33
if (cke_delay_cnt == 15'h6300) |
cke_en <= 1'b1; |
|
// refresh to activate/refresh delay |
ref_delay_counter ref_delay_counter0 |
( |
.cke(ref_delay), |
.zq(ref_delay_ack), |
.clk(sdram_clk_0), |
.rst(wb_rst) |
); |
|
// write recovery time |
pre_delay_counter pre_delay_counter0 |
( |
.cke(pre_delay), |
.zq(pre_delay_ack), |
.clk(sdram_clk_0), |
.rst(wb_rst) |
); |
|
// burst length |
burst_length_counter burst_length_counter0 |
( |
.cke(bl_en), |
.zq(bl_ack), |
.clk(sdram_clk_0), |
.rst(wb_rst) |
); |
|
always @ (posedge sdram_clk_180 or posedge wb_rst) |
if (wb_rst) begin |
cs_n <= 1'b0; |
3021,11 → 3307,11
assign we_pad_o = we; |
assign ba_pad_o = ba; |
assign addr_pad_o = addr; |
assign cs_n_pad_o = cs_n; |
assign cs_n_pad_o = cs_n; |
|
|
// |
defparam delay0.depth=`CL+2; |
// read latency |
defparam delay0.depth=`CL+`AL+2; |
delay delay0 |
( |
.d({read,tx_fifo_b_sel_i_cur}), |
3034,17 → 3320,39
.rst(wb_rst) |
); |
|
// |
defparam delay1.depth=3; |
// write latency |
defparam delay1.depth=`CL+`AL-1; |
delay delay1 |
( |
.d({write, write, write, 1'b0}), |
.q({dq_en, dq_oe, dqs_en, open}), |
.d({write, write, write, write}), |
.q({dq_en, dq_oe, dqs_en, adr_inc}), |
.clk(sdram_clk_0), |
.rst(wb_rst) |
); |
|
// TX DCM |
// if CL>4 delay read from Tx FIFO |
defparam delay2.depth=`CL+`AL-4; |
delay delay2 |
( |
.d({tx_fifo_re_i, tx_fifo_re_i, 2'b00}), |
.q({tx_fifo_re, adr_init_delay, open, open}), |
.clk(sdram_clk_0), |
.rst(wb_rst) |
); |
/* // if CL=4, no delay |
assign tx_fifo_re = tx_fifo_re_i; |
always @ (posedge sdram_clk_0 or posedge wb_rst) |
if (wb_rst) |
adr_init_delay_i <= 1'b0; |
else |
adr_init_delay_i <= tx_fifo_re_i; |
assign adr_init_delay = adr_init_delay_i;*/ |
|
// CL=3, not supported |
|
|
// DCM with internal feedback |
// Remove skew from internal clock |
DCM #( |
.CLKDV_DIVIDE(2.0), |
.CLKFX_DIVIDE(1), |
3058,7 → 3366,7
.DUTY_CYCLE_CORRECTION("TRUE"), |
.PHASE_SHIFT(0), |
.STARTUP_WAIT("FALSE") |
) DCM_inst ( |
) DCM_internal ( |
.CLK0(sdram_bufg_clk_0), |
.CLK180(sdram_bufg_clk_180), |
.CLK270(sdram_bufg_clk_270), |
3072,7 → 3380,7
.PSDONE(), |
.STATUS(), |
.CLKFB(sdram_clk_0), |
.CLKIN(sdram_clk), |
.CLKIN(sdram_clk_ibufg), |
.DSSEN(), |
.PSCLK(), |
.PSEN(), |
3079,9 → 3387,44
.PSINCDEC(), |
.RST(wb_rst) |
); |
// DCM with external feedback |
// Remove skew from external clock |
DCM #( |
.CLKDV_DIVIDE(2.0), |
.CLKFX_DIVIDE(1), |
.CLKFX_MULTIPLY(4), |
.CLKIN_DIVIDE_BY_2("FALSE"), |
.CLKIN_PERIOD(8.0), |
.CLKOUT_PHASE_SHIFT("NONE"), |
.CLK_FEEDBACK("1X"), |
.DESKEW_ADJUST("SYSTEM_SYNCHRONOUS"), |
.DLL_FREQUENCY_MODE("LOW"), |
.DUTY_CYCLE_CORRECTION("TRUE"), |
.PHASE_SHIFT(0), |
.STARTUP_WAIT("FALSE") |
) DCM_external ( |
.CLK0(ck_fb_bufg), |
.CLK180(), |
.CLK270(), |
.CLK2X(), |
.CLK2X180(), |
.CLK90(), |
.CLKDV(), |
.CLKFX(), |
.CLKFX180(), |
.LOCKED(), |
.PSDONE(), |
.STATUS(), |
.CLKFB(ck_fb_ibufg), |
.CLKIN(sdram_clk_ibufg), |
.DSSEN(), |
.PSCLK(), |
.PSEN(), |
.PSINCDEC(), |
.RST(wb_rst) |
); |
|
// Global buffers on DCM clock outputs |
// Internal feedback to DCM |
// Global buffers on DCM generated clocks |
BUFG BUFG_0 ( |
.I (sdram_bufg_clk_0), |
.O (sdram_clk_0)); |
3094,6 → 3437,17
BUFG BUFG_270 ( |
.I (sdram_bufg_clk_270), |
.O (sdram_clk_270)); |
// Internal feedback to DCM |
IBUFG IBUFG_clk ( |
.I (sdram_clk), |
.O (sdram_clk_ibufg)); |
// External feedback to DCM |
OBUF OBUF_ck_fb ( |
.I (ck_fb_bufg), |
.O (ck_fb)); |
IBUFG IBUFG_ck_fb ( |
.I (ck_fb_pad_i), |
.O (ck_fb_ibufg)); |
|
// Pipeline the data path from Tx FIFO to ODDR output registers |
always @ (posedge sdram_clk_0 or posedge wb_rst) |
3123,6 → 3477,42
end |
endgenerate |
|
assign dq_pad_io = dq_oe ? dq_o : {16{1'bz}}; |
|
// Use ODDR FF to generate clock with equal delay as data |
ODDR2 #( |
.DDR_ALIGNMENT("NONE"), |
.INIT(1'b0), |
.SRTYPE("SYNC")) |
ODDR2_inst_1 |
( |
.Q(ck_pad_o), |
.C0(sdram_clk_270), |
.C1(sdram_clk_90), |
.CE(1'b1), |
.D0(1'b1), |
.D1(1'b0), |
.R(wb_rst), |
.S(1'b0) |
); |
|
// Use ODDR FF to generate clock with equal delay as data |
ODDR2 #( |
.DDR_ALIGNMENT("NONE"), |
.INIT(1'b0), |
.SRTYPE("SYNC")) |
ODDR2_inst_2 |
( |
.Q(ck_n_pad_o), |
.C0(sdram_clk_270), |
.C1(sdram_clk_90), |
.CE(1'b1), |
.D0(1'b0), |
.D1(1'b1), |
.R(wb_rst), |
.S(1'b0) |
); |
|
// IDDR2 (Double Data Rate Input D Flip-Flop) |
generate |
for (i=0; i<16; i=i+1) begin:iddr2gen |
3138,9 → 3528,9
.C0(sdram_clk_270), |
.C1(sdram_clk_90), |
.CE(1'b1), |
.D(dq_i[i]), |
.D(dq_pad_io[i]), |
.R(wb_rst), |
.S(1'b0) |
.S(1'b0) |
); |
end |
endgenerate |
3155,11 → 3545,10
assign rx_fifo_dat_i = rx_fifo_dat_pipe; |
|
// Assing outputs |
assign ck_pad_o = sdram_clk_270; |
assign ck_n_pad_o = sdram_clk_90; |
assign dqs_o = dqs_en ? {sdram_clk_270, sdram_clk_270} : 2'bz; |
assign dqs_n_o = dqs_en ? {sdram_clk_90, sdram_clk_90} : 2'bz; |
assign dqs_oe = dqs_en; |
assign dqs_pad_io = dqs_en ? {sdram_clk_270, sdram_clk_270} : 2'bz; |
assign dqs_n_pad_io = dqs_en ? {sdram_clk_90, sdram_clk_90} : 2'bz; |
assign dqs_oe = dqs_en; |
assign ck_fb_pad_o = ck_fb; |
|
`endif // `ifdef DDR_16 |
|
/verilog/Makefile
37,9 → 37,21
cp cke_delay_counter_defines.v versatile_counter_defines.v |
vpp versatile_counter.v > tmp1.v |
vppreproc --simple tmp1.v | cat copyright.v - > cke_delay_counter.v |
cp ref_delay_counter_defines.v versatile_counter_defines.v |
vpp versatile_counter.v > tmp1.v |
vppreproc --simple tmp1.v | cat copyright.v - > ref_delay_counter.v |
cp pre_delay_counter_defines.v versatile_counter_defines.v |
vpp versatile_counter.v > tmp1.v |
vppreproc --simple tmp1.v | cat copyright.v - > pre_delay_counter.v |
cp latency_counter_defines.v versatile_counter_defines.v |
vpp versatile_counter.v > tmp1.v |
vppreproc --simple tmp1.v | cat copyright.v - > latency_counter.v |
cp burst_length_counter_defines.v versatile_counter_defines.v |
vpp versatile_counter.v > tmp1.v |
vppreproc --simple tmp1.v | cat copyright.v - > burst_length_counter.v |
|
versatile_mem_ctrl: |
cat versatile_fifo_async_cmp.v versatile_fifo_dual_port_ram_dc_dw.v fifo_adr_counter.v ctrl_counter.v fifo.v fifo_fill.v inc_adr.v ref_counter.v cke_delay_counter.v sdr_16.v ddr_16.v delay.v versatile_mem_ctrl_top.v | cat copyright.v - > versatile_mem_ctrl_ip.v |
cat versatile_fifo_async_cmp.v versatile_fifo_dual_port_ram_dc_dw.v fifo_adr_counter.v ctrl_counter.v fifo.v fifo_fill.v inc_adr.v ref_counter.v cke_delay_counter.v ref_delay_counter.v pre_delay_counter.v latency_counter.v burst_length_counter.v sdr_16.v ddr_16.v delay.v versatile_mem_ctrl_top.v | cat copyright.v - > versatile_mem_ctrl_ip.v |
|
all: ctrl_counter dual_port_ram fifo_adr_counter fifo_fill_fsm sdr_16 ddr_16 delay_counter versatile_mem_ctrl |
|