From c8904b67b498b43c14d6cf001193861f7873f14e Mon Sep 17 00:00:00 2001 From: Andrey Filippov Date: Thu, 22 May 2014 02:13:04 -0600 Subject: [PATCH] added modules, simulating --- .editor_defines | 3 +- .gitignore | 1 + .project | 16 +- .settings/com.elphel.vdt.FPGA_project.prefs | 6 +- .../com.elphel.vdt.VivadoSynthesis.prefs | 5 +- axi/axibram.v | 8 +- axi/axibram_read.v | 2 +- axi/axibram_write.v | 21 +- axi/macros393.v | 107 +- ddrc_control.v | 166 +- ddrc_status.v | 36 +- ddrc_test01.v | 217 ++- ddrc_test01.xdc | 207 +++ ddrc_test01_testbench.sav | 1413 +++++++++++++++++ ddrc_test01_testbench.tf | 731 +++++++++ phy/phy_top.v | 6 +- simulation_modules/simul_axi_fifo_out.v | 65 + simulation_modules/simul_axi_master_rdaddr.v | 92 ++ simulation_modules/simul_axi_master_wdata.v | 77 + simulation_modules/simul_axi_master_wraddr.v | 90 ++ simulation_modules/simul_axi_read.v | 86 + simulation_modules/simul_axi_slow_ready.v | 40 + simulation_modules/simul_fifo.v | 65 + util_modules/fifo_cross_clocks.v | 95 ++ util_modules/fifo_same_clock.v | 88 + wrap/mmcm_phase_cntr.v | 2 +- wrap/oserdes_mem.v | 4 +- 27 files changed, 3409 insertions(+), 240 deletions(-) create mode 100644 ddrc_test01.xdc create mode 100644 ddrc_test01_testbench.sav create mode 100644 ddrc_test01_testbench.tf create mode 100644 simulation_modules/simul_axi_fifo_out.v create mode 100644 simulation_modules/simul_axi_master_rdaddr.v create mode 100644 simulation_modules/simul_axi_master_wdata.v create mode 100644 simulation_modules/simul_axi_master_wraddr.v create mode 100644 simulation_modules/simul_axi_read.v create mode 100644 simulation_modules/simul_axi_slow_ready.v create mode 100644 simulation_modules/simul_fifo.v create mode 100644 util_modules/fifo_cross_clocks.v create mode 100644 util_modules/fifo_same_clock.v diff --git a/.editor_defines b/.editor_defines index 7fc8bed..071a363 100644 --- a/.editor_defines +++ b/.editor_defines @@ -1,3 +1,4 @@ // This file may be used to define same pre-processor macros to be included into each parsed file // It can be used to check different `ifdef branches - `define XIL_TIMING //Simprim + //`define XIL_TIMING //Simprim + `define IVERILOG \ No newline at end of file diff --git a/.gitignore b/.gitignore index af7384a..aa1ba16 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ unisims glbl.v vivado_* syntax_* +simulation/* diff --git a/.project b/.project index 1b7f111..23e3e63 100644 --- a/.project +++ b/.project @@ -51,7 +51,7 @@ vivado_logs/VivadoOpt.log 1 - /data/vdt/vdt-projects/eddr3/vivado_logs/VivadoOpt-20140515155524262.log + /data/vdt/vdt-projects/eddr3/vivado_logs/VivadoOpt-20140520232524498.log vivado_logs/VivadoOptPhys.log @@ -61,12 +61,12 @@ vivado_logs/VivadoOptPower.log 1 - /data/vdt/vdt-projects/eddr3/vivado_logs/VivadoOptPower-20140515155524262.log + /data/vdt/vdt-projects/eddr3/vivado_logs/VivadoOptPower-20140520232524498.log vivado_logs/VivadoPlace.log 1 - /data/vdt/vdt-projects/eddr3/vivado_logs/VivadoPlace-20140515155524262.log + /data/vdt/vdt-projects/eddr3/vivado_logs/VivadoPlace-20140520232524498.log vivado_logs/VivadoRoute.log @@ -76,7 +76,7 @@ vivado_logs/VivadoSynthesis.log 1 - /data/vdt/vdt-projects/eddr3/vivado_logs/VivadoSynthesis-20140515155524262.log + /data/vdt/vdt-projects/eddr3/vivado_logs/VivadoSynthesis-20140520232242973.log vivado_logs/VivadoTimimgSummaryReportImplemented.log @@ -86,7 +86,7 @@ vivado_logs/VivadoTimimgSummaryReportSynthesis.log 1 - /data/vdt/vdt-projects/eddr3/vivado_logs/VivadoTimimgSummaryReportSynthesis-20140515155524262.log + /data/vdt/vdt-projects/eddr3/vivado_logs/VivadoTimimgSummaryReportSynthesis-20140520232524498.log vivado_logs/VivadoTimingReportImplemented.log @@ -96,7 +96,7 @@ vivado_logs/VivadoTimingReportSynthesis.log 1 - /data/vdt/vdt-projects/eddr3/vivado_logs/VivadoTimingReportSynthesis-20140515155524262.log + /data/vdt/vdt-projects/eddr3/vivado_logs/VivadoTimingReportSynthesis-20140520232524498.log vivado_state/eddr3-opt-phys.dcp @@ -106,7 +106,7 @@ vivado_state/eddr3-place.dcp 1 - /data/vdt/vdt-projects/eddr3/vivado_state/eddr3-place-20140515155524262.dcp + /data/vdt/vdt-projects/eddr3/vivado_state/eddr3-place-20140520232524498.dcp vivado_state/eddr3-route.dcp @@ -116,7 +116,7 @@ vivado_state/eddr3-synth.dcp 1 - /data/vdt/vdt-projects/eddr3/vivado_state/eddr3-synth-20140515155524262.dcp + /data/vdt/vdt-projects/eddr3/vivado_state/eddr3-synth-20140520204515091.dcp diff --git a/.settings/com.elphel.vdt.FPGA_project.prefs b/.settings/com.elphel.vdt.FPGA_project.prefs index 2329b07..cf951ee 100644 --- a/.settings/com.elphel.vdt.FPGA_project.prefs +++ b/.settings/com.elphel.vdt.FPGA_project.prefs @@ -1,4 +1,6 @@ -FPGA_project_2_ImplementationTopFile=phy/test_phy_top_01.v +FPGA_project_0_SimulationTopFile=ddrc_test01_testbench.tf +FPGA_project_1_SimulationTopModule=ddrc_test01_testbench +FPGA_project_2_ImplementationTopFile=ddrc_test01.v FPGA_project_4_part=xc7z030fbg484-2 -com.elphel.store.context.FPGA_project=FPGA_project_2_ImplementationTopFile<-@\#\#@->FPGA_project_4_part<-@\#\#@-> +com.elphel.store.context.FPGA_project=FPGA_project_2_ImplementationTopFile<-@\#\#@->FPGA_project_4_part<-@\#\#@->FPGA_project_0_SimulationTopFile<-@\#\#@->FPGA_project_1_SimulationTopModule<-@\#\#@-> eclipse.preferences.version=1 diff --git a/.settings/com.elphel.vdt.VivadoSynthesis.prefs b/.settings/com.elphel.vdt.VivadoSynthesis.prefs index fc0b76f..066c634 100644 --- a/.settings/com.elphel.vdt.VivadoSynthesis.prefs +++ b/.settings/com.elphel.vdt.VivadoSynthesis.prefs @@ -1,3 +1,4 @@ -VivadoSynthesis_102_ConstraintsFiles=phy/test_phy_top_01.xdc<-@\#\#@-> -com.elphel.store.context.VivadoSynthesis=VivadoSynthesis_102_ConstraintsFiles<-@\#\#@-> +VivadoSynthesis_102_ConstraintsFiles=ddrc_test01.xdc<-@\#\#@-> +VivadoSynthesis_95_ShowInfo=false +com.elphel.store.context.VivadoSynthesis=VivadoSynthesis_102_ConstraintsFiles<-@\#\#@->VivadoSynthesis_95_ShowInfo<-@\#\#@-> eclipse.preferences.version=1 diff --git a/axi/axibram.v b/axi/axibram.v index 48527f9..5f4d645 100644 --- a/axi/axibram.v +++ b/axi/axibram.v @@ -308,7 +308,7 @@ ram_1kx32_1kx32 .data_in(wdata_out[31:0]) // data out ); -fifo_reg_W_D #( .DATA_WIDTH(30),.DATA_DEPTH(4)) +fifo_same_clock #( .DATA_WIDTH(30),.DATA_DEPTH(4)) raddr_i ( .rst(rst), .clk(aclk), @@ -320,7 +320,7 @@ fifo_reg_W_D #( .DATA_WIDTH(30),.DATA_DEPTH(4)) .full(), .half_full(ar_half_full) ); -fifo_reg_W_D #( .DATA_WIDTH(30),.DATA_DEPTH(4)) +fifo_same_clock #( .DATA_WIDTH(30),.DATA_DEPTH(4)) waddr_i ( .rst(rst), .clk(aclk), @@ -332,7 +332,7 @@ fifo_reg_W_D #( .DATA_WIDTH(30),.DATA_DEPTH(4)) .full(), .half_full(aw_half_full) ); -fifo_reg_W_D #( .DATA_WIDTH(49),.DATA_DEPTH(4)) +fifo_same_clock #( .DATA_WIDTH(49),.DATA_DEPTH(4)) wdata_i ( .rst(rst), .clk(aclk), @@ -344,7 +344,7 @@ fifo_reg_W_D #( .DATA_WIDTH(49),.DATA_DEPTH(4)) .full(), .half_full(w_half_full) ); -fifo_reg_W_D #( .DATA_WIDTH(14),.DATA_DEPTH(4)) +fifo_same_clock #( .DATA_WIDTH(14),.DATA_DEPTH(4)) wresp_i ( .rst(rst), .clk(aclk), diff --git a/axi/axibram_read.v b/axi/axibram_read.v index df59c64..6104653 100644 --- a/axi/axibram_read.v +++ b/axi/axibram_read.v @@ -223,7 +223,7 @@ module axibram_read #( */ // assign start_read_burst_w= ar_nempty && (rready?start_read_burst_1:start_read_burst_0); -fifo_reg_W_D #( .DATA_WIDTH(ADDRESS_BITS+20),.DATA_DEPTH(4)) +fifo_same_clock #( .DATA_WIDTH(ADDRESS_BITS+20),.DATA_DEPTH(4)) raddr_i ( .rst(rst), .clk(aclk), diff --git a/axi/axibram_write.v b/axi/axibram_write.v index b74c855..988fb42 100644 --- a/axi/axibram_write.v +++ b/axi/axibram_write.v @@ -92,16 +92,25 @@ module axibram_write #( wire bram_we_w; //,bram_we_nonmasked; // write BRAM memory non-masked - should be combined with wire start_write_burst_w; wire write_in_progress_w; + + wire aw_nempty_ready; // aw_nempty and device ready + wire w_nempty_ready; // w_nempty and device ready + assign aw_nempty_ready=aw_nempty && dev_ready_r; // should it be dev_ready? + assign w_nempty_ready=w_nempty && dev_ready_r; // should it be dev_ready? + reg dev_ready_r; // device, selected at start burst assign next_wr_address_w= wburst[1]? (wburst[0]? {ADDRESS_BITS{1'b0}}:((write_address[ADDRESS_BITS-1:0]+1) & {{(ADDRESS_BITS-4){1'b1}}, ~wlen[3:0]})): (wburst[0]? (write_address[ADDRESS_BITS-1:0]+1):(write_address[ADDRESS_BITS-1:0])); - assign bram_we_w= w_nempty && write_in_progress && dev_ready_r; + assign bram_we_w= w_nempty_ready && write_in_progress; // assign bram_we_nonmasked= w_nempty && write_in_progress; - assign start_write_burst_w=aw_nempty && (!write_in_progress || (w_nempty && (write_left[3:0]==4'b0))); - assign write_in_progress_w=aw_nempty || (write_in_progress && !(w_nempty && (write_left[3:0]==4'b0))); +// assign start_write_burst_w=aw_nempty && (!write_in_progress || (w_nempty && (write_left[3:0]==4'b0))); +// assign start_write_burst_w=aw_nempty_ready && (!write_in_progress || (w_nempty_ready && (write_left[3:0]==4'b0))); + assign start_write_burst_w=w_nempty_ready && aw_nempty_ready && (!write_in_progress || (w_nempty_ready && (write_left[3:0]==4'b0))); +// assign write_in_progress_w=aw_nempty || (write_in_progress && !(w_nempty && (write_left[3:0]==4'b0))); + assign write_in_progress_w=aw_nempty_ready || (write_in_progress && !(w_nempty_ready && (write_left[3:0]==4'b0))); always @ (posedge aclk or posedge rst) begin if (rst) wburst[1:0] <= 0; @@ -152,7 +161,7 @@ module axibram_write #( assign bram_wstb = wstb_out[3:0]; assign bram_wdata = wdata_out[31:0]; -fifo_reg_W_D #( .DATA_WIDTH(20+ADDRESS_BITS),.DATA_DEPTH(4)) +fifo_same_clock #( .DATA_WIDTH(20+ADDRESS_BITS),.DATA_DEPTH(4)) waddr_i ( .rst(rst), .clk(aclk), @@ -164,7 +173,7 @@ fifo_reg_W_D #( .DATA_WIDTH(20+ADDRESS_BITS),.DATA_DEPTH(4)) .full(), .half_full(aw_half_full) ); -fifo_reg_W_D #( .DATA_WIDTH(49),.DATA_DEPTH(4)) +fifo_same_clock #( .DATA_WIDTH(49),.DATA_DEPTH(4)) wdata_i ( .rst(rst), .clk(aclk), @@ -176,7 +185,7 @@ fifo_reg_W_D #( .DATA_WIDTH(49),.DATA_DEPTH(4)) .full(), .half_full(w_half_full) ); -fifo_reg_W_D #( .DATA_WIDTH(14),.DATA_DEPTH(4)) +fifo_same_clock #( .DATA_WIDTH(14),.DATA_DEPTH(4)) wresp_i ( .rst(rst), .clk(aclk), diff --git a/axi/macros393.v b/axi/macros393.v index 81654f3..309d1e2 100644 --- a/axi/macros393.v +++ b/axi/macros393.v @@ -2,7 +2,7 @@ ** -----------------------------------------------------------------------------** ** macros353.v ** -** I/O pads related circuitry +** temporary, modules to be moved ** ** Copyright (C) 2002 Elphel, Inc ** @@ -25,42 +25,8 @@ ** -----------------------------------------------------------------------------** ** */ -// just make more convenient A[3:0] instead of 4 one-bit inputs -// TODO: Replace direct instances of SRL16 to imporve portability -/* -module MSRL16 (Q, A, CLK, D); - output Q; - input [3:0] A; - input CLK, D; - SRL16 i_q(.Q(Q), .A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .CLK(CLK), .D(D)); -endmodule - -module MSRL16_1 (Q, A, CLK, D); - output Q; - input [3:0] A; - input CLK, D; - SRL16_1 i_q(.Q(Q), .A0(A[0]), .A1(A[1]), .A2(A[2]), .A3(A[3]), .CLK(CLK), .D(D)); -endmodule -*/ -/* -module myRAM_WxD_D(D,WE,clk,AW,AR,QW,QR); -parameter DATA_WIDTH=16; -parameter DATA_DEPTH=4; -parameter DATA_2DEPTH=(1< . +################################################################################# + +# output SDCLK, // DDR3 clock differential output, positive +set_property IOSTANDARD DIFF_SSTL15 [get_ports {SDCLK}] +set_property PACKAGE_PIN K3 [get_ports {SDCLK}] + +# output SDNCLK,// DDR3 clock differential output, negative +set_property IOSTANDARD DIFF_SSTL15 [get_ports {SDNCLK}] +set_property PACKAGE_PIN K2 [get_ports {SDNCLK}] + +# output [ADDRESS_NUMBER-1:0] SDA, // output address ports (14:0) for 4Gb device +set_property IOSTANDARD SSTL15 [get_ports {SDA[0]}] +set_property PACKAGE_PIN N3 [get_ports {SDA[0]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[1]}] +set_property PACKAGE_PIN H2 [get_ports {SDA[1]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[2]}] +set_property PACKAGE_PIN M2 [get_ports {SDA[2]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[3]}] +set_property PACKAGE_PIN P5 [get_ports {SDA[3]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[4]}] +set_property PACKAGE_PIN H1 [get_ports {SDA[4]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[5]}] +set_property PACKAGE_PIN M3 [get_ports {SDA[5]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[6]}] +set_property PACKAGE_PIN J1 [get_ports {SDA[6]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[7]}] +set_property PACKAGE_PIN P4 [get_ports {SDA[7]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[8]}] +set_property PACKAGE_PIN K1 [get_ports {SDA[8]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[9]}] +set_property PACKAGE_PIN P3 [get_ports {SDA[9]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[10]}] +set_property PACKAGE_PIN F2 [get_ports {SDA[10]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[11]}] +set_property PACKAGE_PIN H3 [get_ports {SDA[11]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[12]}] +set_property PACKAGE_PIN G3 [get_ports {SDA[12]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[13]}] +set_property PACKAGE_PIN N2 [get_ports {SDA[13]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDA[14]}] +set_property PACKAGE_PIN J3 [get_ports {SDA[14]}] + + +# output [2:0] SDBA, // output bank address ports +set_property IOSTANDARD SSTL15 [get_ports {SDBA[0]}] +set_property PACKAGE_PIN N1 [get_ports {SDBA[0]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDBA[1]}] +set_property PACKAGE_PIN F1 [get_ports {SDBA[1]}] + +set_property IOSTANDARD SSTL15 [get_ports {SDBA[2]}] +set_property PACKAGE_PIN P1 [get_ports {SDBA[2]}] + +# output SDWE, // output WE port +set_property IOSTANDARD SSTL15 [get_ports {SDWE}] +set_property PACKAGE_PIN G4 [get_ports {SDWE}] + +# output SDRAS, // output RAS port +set_property IOSTANDARD SSTL15 [get_ports {SDRAS}] +set_property PACKAGE_PIN L2 [get_ports {SDRAS}] + +# output SDCAS, // output CAS port +set_property IOSTANDARD SSTL15 [get_ports {SDCAS}] +set_property PACKAGE_PIN L1 [get_ports {SDCAS}] + +# output SDCKE, // output Clock Enable port +set_property IOSTANDARD SSTL15 [get_ports {SDCKE}] +set_property PACKAGE_PIN E1 [get_ports {SDCKE}] + +# output SDODT, // output ODT port +set_property IOSTANDARD SSTL15 [get_ports {SDODT}] +set_property PACKAGE_PIN M7 [get_ports {SDODT}] +# + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[0]}] +set_property PACKAGE_PIN K6 [get_ports {SDD[0]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[1]}] +set_property PACKAGE_PIN L4 [get_ports {SDD[1]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[2]}] +set_property PACKAGE_PIN K7 [get_ports {SDD[2]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[3]}] +set_property PACKAGE_PIN K4 [get_ports {SDD[3]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[4]}] +set_property PACKAGE_PIN L6 [get_ports {SDD[4]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[5]}] +set_property PACKAGE_PIN M4 [get_ports {SDD[5]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[6]}] +set_property PACKAGE_PIN L7 [get_ports {SDD[6]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[7]}] +set_property PACKAGE_PIN N5 [get_ports {SDD[7]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[8]}] +set_property PACKAGE_PIN H5 [get_ports {SDD[8]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[9]}] +set_property PACKAGE_PIN J6 [get_ports {SDD[9]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[10]}] +set_property PACKAGE_PIN G5 [get_ports {SDD[10]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[11]}] +set_property PACKAGE_PIN H6 [get_ports {SDD[11]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[12]}] +set_property PACKAGE_PIN F5 [get_ports {SDD[12]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[13]}] +set_property PACKAGE_PIN F7 [get_ports {SDD[13]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[14]}] +set_property PACKAGE_PIN F4 [get_ports {SDD[14]}] + +# inout [15:0] SDD, // DQ I/O pads +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDD[15]}] +set_property PACKAGE_PIN F6 [get_ports {SDD[15]}] + +# inout DQSL, // LDQS I/O pad +set_property PACKAGE_PIN N7 [get_ports {DQSL}] +set_property SLEW FAST [get_ports {DQSL}] +set_property IOSTANDARD DIFF_SSTL15_T_DCI [get_ports {DQSL}] + +# inout NDQSL, // ~LDQS I/O pad +set_property PACKAGE_PIN N6 [get_ports {NDQSL}] +set_property SLEW FAST [get_ports {NDQSL}] +set_property IOSTANDARD DIFF_SSTL15_T_DCI [get_ports {NDQSL}] + +# inout DQSU, // UDQS I/O pad +set_property PACKAGE_PIN H7 [get_ports {DQSU}] +#set_property SLEW FAST [get_ports {DQSU}] +set_property IOSTANDARD DIFF_SSTL15_T_DCI [get_ports {DQSU}] + +# inout NDQSU, // ~UDQS I/O pad +set_property PACKAGE_PIN G7 [get_ports {NDQSU}] +#set_property SLEW FAST [get_ports {NDQSU}] +set_property IOSTANDARD DIFF_SSTL15_T_DCI [get_ports {NDQSU}] + +# inout SDDML, // LDM I/O pad (actually only output) +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDDML}] +set_property PACKAGE_PIN L5 [get_ports {SDDML}] + +# inout SDDMU, // UDM I/O pad (actually only output) +set_property IOSTANDARD SSTL15_T_DCI [get_ports {SDDMU}] +set_property PACKAGE_PIN J5 [get_ports {SDDMU}] + + +# Global constraints + +set_property INTERNAL_VREF 0.750 [get_iobanks 34] +set_property DCI_CASCADE 34 [get_iobanks 35] +set_property INTERNAL_VREF 0.750 [get_iobanks 35] +set_property CFGBVS GND [current_design] +set_property CONFIG_VOLTAGE 1.8 [current_design] diff --git a/ddrc_test01_testbench.sav b/ddrc_test01_testbench.sav new file mode 100644 index 0000000..ea6431c --- /dev/null +++ b/ddrc_test01_testbench.sav @@ -0,0 +1,1413 @@ +[*] +[*] GTKWave Analyzer v3.3.49 (w)1999-2013 BSI +[*] Thu May 22 07:54:47 2014 +[*] +[dumpfile] "/data/vdt/vdt-projects/eddr3/simulation/ddrc_test01_testbench-20140522015055672.lxt" +[dumpfile_mtime] "Thu May 22 07:51:58 2014" +[dumpfile_size] 63157569 +[savefile] "/data/vdt/vdt-projects/eddr3/ddrc_test01_testbench.sav" +[timestart] 98147000 +[size] 1920 1180 +[pos] -1921 -1 +*-20.053656 101463750 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +[treeopen] ddrc_test01_testbench. +[treeopen] ddrc_test01_testbench.ddrc_test01_i. +[treeopen] ddrc_test01_testbench.ddrc_test01_i.axibram_write_i. +[treeopen] ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i. +[treeopen] ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i. +[treeopen] ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i. +[treeopen] ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i. +[treeopen] ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.idelay_ctrl_i. +[treeopen] ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i. +[treeopen] ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1. +[treeopen] ddrc_test01_testbench.simul_axi_master_wdata_i. +[sst_width] 305 +[signals_width] 348 +[sst_expanded] 1 +[sst_vpaned_height] 646 +@28 +ddrc_test01_testbench.RST[0] +ddrc_test01_testbench.CLK[0] +@c00200 +-pll_base_i +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.clkfbin[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.clkfbout[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.clkin[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.clkout0[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.clkout1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.clkout2[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.clkout3[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.clkout4[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.clkout5[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.locked[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.pwrdwn[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.rst[0] +@1401200 +-pll_base_i +@c00200 +-PLLE2_BASE_i +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.CLKFBIN[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.CLKFBOUT[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.CLKIN1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.CLKOUT0[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.CLKOUT1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.CLKOUT2[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.CLKOUT3[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.CLKOUT4[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.CLKOUT5[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.LOCKED[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.OPEN_DO[15:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.OPEN_DRDY[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.PWRDWN[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.RST[0] +@1401200 +-PLLE2_BASE_i +@c00200 +-plle2_adv_1 +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKFBIN[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKFBOUTB[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKFBOUT[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKFBSTOPPED[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKIN1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKIN2[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKINSEL[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKINSTOPPED[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKOUT0B[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKOUT0[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKOUT1B[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKOUT1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKOUT2B[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKOUT2[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKOUT3B[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKOUT3[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKOUT4[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.CLKOUT5[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.DADDR[6:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.DCLK[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.DEN[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.DI[15:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.DO[15:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.DRDY[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.DWE[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.GSR[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.IS_CLKINSEL_INVERTED_REG[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.IS_PWRDWN_INVERTED_REG[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.IS_RST_INVERTED_REG[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.LOCKED[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.PSCLK[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.PSDONE[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.PSEN[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.PSINCDEC[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.PWRDWN[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.REF_CLK_JITTER_MAX_tmp[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.RST[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.chk_ok[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_cnt[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_div1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_div[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_div_fint[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_div_fint_odd[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_div_frac +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_div_frac_int[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_dly_cnt[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_edge[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_fps_en[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_frac_en[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_frac_ht[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_frac_lt[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_frac_out[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_ht1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_ht[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_lt[6:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_nf_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_nocnt[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0_out[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0f_product[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0pm_sel1[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0pm_sel[2:0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0pm_sel_int[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk0ps_en[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1_cnt[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1_div1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1_div[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1_dly_cnt[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1_edge[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1_fps_en[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1_ht1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1_ht[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1_lt[6:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1_nocnt[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1pm_sel[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk1ps_en[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2_cnt[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2_div1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2_div[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2_dly_cnt[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2_edge[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2_fps_en[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2_ht1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2_ht[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2_lt[6:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2_nocnt[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2pm_sel[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk2ps_en[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3_cnt[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3_div1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3_div[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3_dly_cnt[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3_edge[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3_fps_en[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3_ht1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3_ht[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3_lt[6:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3_nocnt[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3pm_sel[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk3ps_en[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4_cnt[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4_div1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4_div[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4_dly_cnt[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4_edge[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4_fps_en[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4_ht1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4_ht[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4_lt[6:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4_nocnt[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4pm_sel[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk4ps_en[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5_cnt[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5_div1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5_div[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5_dly_cnt[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5_edge[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5_fps_en[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5_ht1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5_ht[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5_lt[6:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5_nocnt[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5pm_sel1[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5pm_sel[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk5ps_en[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6_cnt[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6_div1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6_div[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6_dly_cnt[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6_edge[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6_fps_en[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6_ht1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6_ht[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6_lt[6:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6_nocnt[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6pm_sel1[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6pm_sel[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk6ps_en[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clk_osc[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_div_fint[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_div_fint_odd[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_div_frac +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_div_frac_int[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_dly_t[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_fps_en[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_frac_en[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_frac_ht[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_frac_lt[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_in[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_lost_cnt[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_lost_val[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_p[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_stop_max[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_stop_tmp[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfb_tst[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_cnt[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_div1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_div[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_div_t +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_div_t_int[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_dly[5:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_dly_cnt[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_edge[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_f_div +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_frac_out[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_ht1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_ht[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_lt[6:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_nf_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_nocnt[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1pm_rl +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1pm_sel1[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1pm_sel[2:0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1pm_sel_int[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm1ps_en[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm2_cnt[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm2_div1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm2_div[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm2_edge[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm2_ht1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm2_ht[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm2_lt[6:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm2_nocnt[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm2_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbm2_out_tmp[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbstopped_out1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbstopped_out[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbtmp_divi[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbtmp_hti[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbtmp_lti[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkfbtmp_nocnti[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin1_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin2_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_chk_t1 +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_chk_t1_i[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_chk_t1_r +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_chk_t2 +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_chk_t2_i[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_chk_t2_r +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_dly_t[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_edge[63:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_hold_f[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_jit[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_lock_cnt[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_lost_cnt[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_lost_val[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_lost_val_lk[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_p[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_period_tmp_t[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_stop_f[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_stop_max[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkin_stop_tmp[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_cnt[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_div1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_div[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_divi[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_edge[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_edgei[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_ht1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_ht[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_hti[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_lt[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_lti[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_nocnt[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_nocnti[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkind_out_tmp[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkinsel_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkinsel_tmp[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkinstopped_hold[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkinstopped_out1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkinstopped_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkinstopped_out_dly2[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkinstopped_out_dly[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkinstopped_vco_f[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout0_dly[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout0_out[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout1_dly[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout1_out[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout2_dly[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout2_out[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout3_dly[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout3_out[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout4_cascade_int[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout4_dly[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout4_out[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout5_dly[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout5_out[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout6_dly[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout6_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_en0[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_en0_tmp1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_en0_tmp[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_en1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_en[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_en_t[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_en_time[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_en_val[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_mux[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_ps[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_ps_eg[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_ps_mux[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_ps_peg[63:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_ps_tmp1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_ps_tmp2[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkout_ps_w[63:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkpll[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkpll_jitter_unlock[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkpll_r[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkpll_tmp1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkvco[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkvco_delay[63:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkvco_freq_init_chk +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkvco_lk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkvco_lk_dly_tmp[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkvco_lk_en[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkvco_lk_osc[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkvco_lk_tmp[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkvco_pdrm +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkvco_ps_tmp1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkvco_ps_tmp2[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkvco_ps_tmp2_en[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.clkvco_rm_cnt[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.cmpvco +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.daddr_in[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.daddr_lat[6:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.dclk_in[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.delay_edge[63:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.den_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.den_r1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.den_r2[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.di_in[15:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.dly_tmp1[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.dly_tmp[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.dly_tmp_int[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.do_out1[15:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.do_out[15:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.drdy_out1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.drdy_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.drp_lock[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.drp_lock_cnt[9:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.drp_lock_fb_dly[4:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.drp_lock_lat[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.drp_lock_lat_cnt[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.drp_lock_ref_dly[4:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.drp_lock_sat_high[9:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.drp_unlock_cnt[9:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.dwe_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.dwe_r1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.dwe_r2[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.fb_delay[63:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.fb_delay_found[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.fb_delay_found_tmp[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.fb_delay_max +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.fbclk_tmp[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.fbm1_comp_delay[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.fps_en[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.glock[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.i[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.ib[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.ik0[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.ik1[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.ik2[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.ik3[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.ik4[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.init_chk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.init_trig[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.j[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.lock_cnt_max[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.lock_period[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.lock_period_time[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.locked_en_time[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.locked_out1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.locked_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.locked_out_tmp[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.m_product2[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.m_product[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.md_product[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.mf_product[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.p_up[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pchk_clr[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pchk_tmp1[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pchk_tmp2[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pd_stp_p[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_avg[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_avg_stp[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_avg_stpi[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_clkin +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_fb[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_ps[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_ps_old[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco1[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco2[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco3[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco4[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco5[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco6[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco7[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_cmp_cnt[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_cmp_flag[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_half1[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_half[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_half_rm1[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_half_rm2[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_half_rm[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_max[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_mf[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_min[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_rm[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_target[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_target_half[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.period_vco_tmp[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pll_cp[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pll_cpres[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pll_lfhf[1:0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pll_lock_time[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pll_locked_delay[63:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pll_locked_tm[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pll_locked_tmp1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pll_locked_tmp2[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pll_locked_tmp2_dly[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pll_res[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pll_unlock1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pll_unlock[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.ps_cnt[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.ps_cnt_neg[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.ps_in_init[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.ps_in_ps[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.ps_in_ps_neg[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.ps_lock[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.ps_lock_dly[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.psclk_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.psdone_out1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.psdone_out[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.psen_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.psen_w[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.psincdec_chg[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.psincdec_chg_tmp[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.psincdec_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pwrdwn_in1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pwrdwn_in1_h[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pwrdwn_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.pwron_int[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_clkfbstopped[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_clkfbstopped_lk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_clkinsel_flag[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_clkinstopped[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_clkinstopped_lk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_clkinstopped_rc[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_clkinstopped_tm[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_edge[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_ht[63:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_in_o[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_input[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_input_r[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.rst_input_r_h[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.sfsm[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.simd_f[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.startup_wait_sig[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.tmp_ps_val1[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.tmp_ps_val2[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.tmp_string[160:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.unlock_recover[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.val_tmp[63:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.valid_daddr[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.vco_stp_f[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.pll_base_i.PLLE2_BASE_i.plle2_adv_1.vcoflag[0] +@1401200 +-plle2_adv_1 +@c00200 +-phy_top_i +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.clk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.clk_div[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.clk_div_pre[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.clk_fb[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.clk_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.clk_pre[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.clk_ref[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.clk_ref_pre[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.clkfb_ref[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.dci_disable_dq[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.dci_disable_dqs[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ddr3_a[14:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ddr3_ba[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ddr3_cas[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ddr3_cke[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ddr3_clk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ddr3_nclk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ddr3_odt[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ddr3_ras[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ddr3_we[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.din[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.din_dm[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.din_dqs[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.dly_addr[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.dly_data[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.dly_ready[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.dml[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.dmu[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.dout[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.dq[15:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.dqsl[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.dqsu[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.iclk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.iclk_pre[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.in_a[29:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.in_ba[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.in_cas[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.in_cke[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.in_odt[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.in_ras[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.in_tri[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.in_we[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.inv_clk_div[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ld_cmda[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ld_data_h[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ld_data_l[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ld_delay[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ld_mmcm[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.locked[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.locked_mmcm[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.locked_pll[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mclk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mclk_pre[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ndqsl[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ndqsu[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ps_out[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.ps_rdy[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.rst[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.rst_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.set[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.tin_dq[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.tin_dqs[7:0] +@1401200 +-phy_top_i +@800200 +-mmcm_phase_cntr +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkfbin[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkfbout[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkfboutb[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkin[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkout0[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkout0b[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkout1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkout1b[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkout2[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkout2b[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkout3[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkout3b[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkout4[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkout5[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.clkout6[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.diff[8:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.locked[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.ps_busy[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.ps_din[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.ps_dout[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.ps_dout_r[7:0] +@29 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.ps_ready[0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.ps_start0[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.ps_start[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.ps_target[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.ps_we[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.psclk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.psdone[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.psen[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.psincdec[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.pwrdwn[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.mmcm_phase_cntr_i.rst[0] +@1000200 +-mmcm_phase_cntr +@c00200 +-idelay_ctrl_i +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.idelay_ctrl_i.rdy[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.idelay_ctrl_i.refclk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_top_i.idelay_ctrl_i.rst[0] +@1401200 +-idelay_ctrl_i +@c00200 +-ddrc_control_i +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.busy[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.busy_r[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.clk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.cmda_en_r[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.cmda_tri[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.dly_addr[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.dly_data[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.dly_ld_r[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.dly_set[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.dly_set_r[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.dqm_pattern[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.dqm_pattern_r[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.dqs_pattern[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.dqs_pattern_r[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_half_empty[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_nempty[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_re[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.inv_clk_div[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.inv_clk_div_r[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.ld_delay[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.mclk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.port0_int_page[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.port0_int_page_r[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.port0_page[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.port0_page_r[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.port1_int_page[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.port1_int_page_r[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.port1_page[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.port1_page_r[1:0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.pre_waddr[12:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.rst[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.run_addr[10:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.run_chn[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.run_seq[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.run_seq_r[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.selected[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.selected_busy[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.start_wburst[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.waddr[12:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.waddr_fifo_out[12:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.waddr_fifo_out_r[12:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.wdata[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.wdata_fifo_out[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.wdata_fifo_out_r[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.wr_en[0] +@1401200 +-ddrc_control_i +@c00200 +-fifo_cross_clocks +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.addr_diff[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.data_in[44:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.data_out[44:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.half_empty[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.nempty[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.raddr[3:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.raddr_gray[3:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.raddr_gray_top3[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.raddr_gray_top3_wclk[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.raddr_plus1[3:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.raddr_plus1_gray_top3[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.raddr_top3_wclk[2:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.rclk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.re[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.rst[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.waddr[3:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.waddr_gray[3:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.waddr_gray_rclk[3:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.waddr_plus1[3:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.waddr_plus1_gray[3:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.waddr_top3[2:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.wclk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_control_i.fifo_cross_clocks_i.we[0] +@1401200 +-fifo_cross_clocks +@c00200 +-phy_cmd_i +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.DQSL[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.DQSU[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.NDQSL[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.NDQSU[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.SDA[14:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.SDBA[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.SDCAS[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.SDCKE[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.SDCLK[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.SDDML[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.SDDMU[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.SDD[15:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.SDNCLK[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.SDODT[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.SDRAS[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.SDWE[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.buf_rd[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.buf_rdata[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.buf_wdata[63:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.buf_wr[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.clk_div[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.clk_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.cmda_tri[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.dly_addr[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.dly_addr_r[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.dly_data[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.dly_data_r[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.dq_tri_prev[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.dqm_pattern[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.dqs_pattern[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.dqs_tri_prev[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.inv_clk_div[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.ld_delay[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.ld_delay_r[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.locked[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.locked_r1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.locked_r2[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.mclk[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.pause_len[5:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_addr[29:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_addr_in[14:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_bank[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_bank_in[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_buf_rd[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_buf_wr[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_cke[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_cke_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_cmd_nop[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_cmd_word[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_dci_dis_dq[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_dci_dis_dqs[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_dci_in[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_dq_tri[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_dq_tri_in[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_dqs_tri[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_dqs_tri_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_locked[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_odt[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_odt_in[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_ps_out[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_ps_rdy[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_rcw[5:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_rcw_in[2:0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_rdata[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_rdata_r[63:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_sel_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.phy_spare[2:0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.ps_out[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.ps_out_r1[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.ps_out_r2[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.ps_rdy[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.ps_rdy_r1[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.ps_rdy_r2[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.rst_in[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.sequence_done[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.set[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_i.set_r[0] +@1401200 +-phy_cmd_i +@c00200 +-ddrc_sequencer +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.DQSL[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.DQSU[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.NDQSL[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.NDQSU[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.SDA[14:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.SDBA[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.SDCAS[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.SDCKE[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.SDCLK[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.SDDML[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.SDDMU[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.SDD[15:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.SDNCLK[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.SDODT[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.SDRAS[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.SDWE[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.buf1_rdata[63:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.buf_page[1:0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.buf_raddr[8:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.buf_rd[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.buf_rdata[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.buf_sel_1hot[15:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.buf_waddr_negedge[8:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.buf_wdata[63:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.buf_wdata_negedge[63:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.buf_wr[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.buf_wr_negedge[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.clk_in[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.cmd0_addr[9:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.cmd0_clk[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.cmd0_data[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.cmd0_we[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.cmd1_addr[9:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.cmd1_clk[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.cmd1_data[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.cmd1_we[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.cmd_addr[9:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.cmd_busy[2:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.cmd_fetch[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.cmd_sel[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.cmda_tri[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.dly_addr[6:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.dly_data[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.dqm_pattern[7:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.dqs_pattern[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.inv_clk_div[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.ld_delay[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.locked[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.mclk[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.pause[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.pause_cntr[5:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.pause_len[5:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd0_word[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd1_word[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_nop[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.phy_cmd_word[31:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.port0_addr[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.port0_clk[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.port0_data[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.port0_int_page[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.port0_page[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.port0_re[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.port0_regen[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.port1_addr[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.port1_clk[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.port1_data[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.port1_int_page[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.port1_page[1:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.port1_we[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.ps_out[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.ps_rdy[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.rst[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.rst_in[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.run_addr[10:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.run_busy[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.run_chn[3:0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.run_chn_d[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.run_done[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.run_seq[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.run_seq_d[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.sequence_done[0] +ddrc_test01_testbench.ddrc_test01_i.ddrc_sequencer_i.set[0] +@1401200 +-ddrc_sequencer +@c00200 +-ddrc_test01 +@28 +ddrc_test01_testbench.ddrc_test01_i.DQSL[0] +ddrc_test01_testbench.ddrc_test01_i.DQSU[0] +ddrc_test01_testbench.ddrc_test01_i.NDQSL[0] +ddrc_test01_testbench.ddrc_test01_i.NDQSU[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.SDA[14:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.SDBA[2:0] +ddrc_test01_testbench.ddrc_test01_i.SDCAS[0] +ddrc_test01_testbench.ddrc_test01_i.SDCKE[0] +ddrc_test01_testbench.ddrc_test01_i.SDCLK[0] +ddrc_test01_testbench.ddrc_test01_i.SDDML[0] +ddrc_test01_testbench.ddrc_test01_i.SDDMU[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.SDD[15:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.SDNCLK[0] +ddrc_test01_testbench.ddrc_test01_i.SDODT[0] +ddrc_test01_testbench.ddrc_test01_i.SDRAS[0] +ddrc_test01_testbench.ddrc_test01_i.SDWE[0] +ddrc_test01_testbench.ddrc_test01_i.axi_aclk[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axi_araddr[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axi_arburst[1:0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axi_arid[11:0] +ddrc_test01_testbench.ddrc_test01_i.axi_arlen[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axi_arready[0] +ddrc_test01_testbench.ddrc_test01_i.axi_arsize[1:0] +ddrc_test01_testbench.ddrc_test01_i.axi_arvalid[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axi_awaddr[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axi_awburst[1:0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axi_awid[11:0] +ddrc_test01_testbench.ddrc_test01_i.axi_awlen[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axi_awready[0] +ddrc_test01_testbench.ddrc_test01_i.axi_awsize[1:0] +ddrc_test01_testbench.ddrc_test01_i.axi_awvalid[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axi_bid[11:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axi_bready[0] +ddrc_test01_testbench.ddrc_test01_i.axi_bresp[1:0] +ddrc_test01_testbench.ddrc_test01_i.axi_bvalid[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axi_rdata[31:0] +ddrc_test01_testbench.ddrc_test01_i.axi_rid[11:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axi_rlast[0] +ddrc_test01_testbench.ddrc_test01_i.axi_rready[0] +ddrc_test01_testbench.ddrc_test01_i.axi_rresp[1:0] +ddrc_test01_testbench.ddrc_test01_i.axi_rst[0] +ddrc_test01_testbench.ddrc_test01_i.axi_rvalid[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axi_wdata[31:0] +ddrc_test01_testbench.ddrc_test01_i.axi_wid[11:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axi_wlast[0] +ddrc_test01_testbench.ddrc_test01_i.axi_wready[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axi_wstb[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axi_wvalid[0] +ddrc_test01_testbench.ddrc_test01_i.axird_bram_rclk[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axird_bram_rdata[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axird_bram_regen[0] +ddrc_test01_testbench.ddrc_test01_i.axird_bram_ren[0] +ddrc_test01_testbench.ddrc_test01_i.axird_dev_busy[0] +ddrc_test01_testbench.ddrc_test01_i.axird_dev_ready[0] +ddrc_test01_testbench.ddrc_test01_i.axird_start_burst[0] +ddrc_test01_testbench.ddrc_test01_i.axiwr_bram_wclk[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axiwr_bram_wdata[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axiwr_bram_wen[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axiwr_bram_wstb[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axiwr_dev_busy[0] +ddrc_test01_testbench.ddrc_test01_i.axiwr_dev_ready[0] +ddrc_test01_testbench.ddrc_test01_i.axiwr_start_burst[0] +ddrc_test01_testbench.ddrc_test01_i.cmda_tri[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.dly_addr[6:0] +ddrc_test01_testbench.ddrc_test01_i.dly_data[7:0] +ddrc_test01_testbench.ddrc_test01_i.dqm_pattern[7:0] +ddrc_test01_testbench.ddrc_test01_i.dqs_pattern[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.en_cmd0_wr[0] +ddrc_test01_testbench.ddrc_test01_i.en_port0_rd[0] +ddrc_test01_testbench.ddrc_test01_i.en_port0_regen[0] +ddrc_test01_testbench.ddrc_test01_i.en_port1_wr[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.fclk[3:0] +ddrc_test01_testbench.ddrc_test01_i.frst[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.inv_clk_div[0] +ddrc_test01_testbench.ddrc_test01_i.ld_delay[0] +ddrc_test01_testbench.ddrc_test01_i.locked[0] +ddrc_test01_testbench.ddrc_test01_i.mclk[0] +ddrc_test01_testbench.ddrc_test01_i.port0_int_page[1:0] +ddrc_test01_testbench.ddrc_test01_i.port0_page[1:0] +@22 +ddrc_test01_testbench.ddrc_test01_i.port0_rdata[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.port1_int_page[1:0] +ddrc_test01_testbench.ddrc_test01_i.port1_page[1:0] +@22 +ddrc_test01_testbench.ddrc_test01_i.ps_out[7:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.ps_rdy[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.run_addr[10:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.run_busy[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.run_chn[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.run_seq[0] +ddrc_test01_testbench.ddrc_test01_i.select_port0[0] +ddrc_test01_testbench.ddrc_test01_i.select_status[0] +ddrc_test01_testbench.ddrc_test01_i.set[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.status_rdata[31:0] +@1401200 +-ddrc_test01 +@c00200 +-axibram_write_i +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.aclk[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.aw_half_full[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.aw_nempty[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.aw_nempty_ready[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.awaddr[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.awburst[1:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.awburst_out[1:0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.awid[11:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.awid_out[11:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.awlen[3:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.awlen_out[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.awready[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.awsize[1:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.awsize_out[1:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.awvalid[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.bid[11:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.bram_waddr[12:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.bram_wclk[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.bram_wdata[31:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.bram_we_w[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.bram_wen[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.bram_wstb[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.bready[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.bresp[1:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.bresp_in[1:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.bvalid[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.dev_ready[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.dev_ready_r[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.rst[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.start_burst[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.start_write_burst_w[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.w_half_full[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.w_nempty[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.w_nempty_ready[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wburst[1:0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata[31:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_out[31:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wid[11:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wid_out[11:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wlast[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wlast_out[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wlen[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wready[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.write_in_progress[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.write_in_progress_w[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.write_left[3:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wstb[3:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wstb_out[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wvalid[0] +@1401200 +-axibram_write_i +@c00200 +-wresp_i +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.clk[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.we[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.wem[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.wa[3:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.data_in[13:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.inreg[13:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.fill[4:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.next_fill[4:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.full[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.half_full[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.just_one[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.nempty[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.re[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.rem[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.out_full[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.ra[3:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.outreg[13:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.data_out[13:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wresp_i.rst[0] +@1401200 +-wresp_i +@800200 +-waddr_i +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.clk[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.fill[4:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.full[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.half_full[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.just_one[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.nempty[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.next_fill[4:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.out_full[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.ra[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.re[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.rem[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.rst[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.wa[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.we[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.waddr_i.wem[0] +@1000200 +-waddr_i +@c00200 +-wdata_i +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.clk[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.data_in[48:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.data_out[48:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.fill[4:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.full[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.half_full[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.inreg[48:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.just_one[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.nempty[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.next_fill[4:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.out_full[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.outreg[48:0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.ra[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.re[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.rem[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.rst[0] +@22 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.wa[3:0] +@28 +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.we[0] +ddrc_test01_testbench.ddrc_test01_i.axibram_write_i.wdata_i.wem[0] +@1401200 +-wdata_i +[pattern_trace] 1 +[pattern_trace] 0 diff --git a/ddrc_test01_testbench.tf b/ddrc_test01_testbench.tf new file mode 100644 index 0000000..e6f5036 --- /dev/null +++ b/ddrc_test01_testbench.tf @@ -0,0 +1,731 @@ +/******************************************************************************* + * Module: ddrc_test01_testbench + * Date:2014-05-20 + * Author: Andrey Filippov + * Description: testbench for ddrc_test01 + * + * Copyright (c) 2014 Elphel, Inc. + * ddrc_test01_testbench.v is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * ddrc_test01_testbench.v 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + *******************************************************************************/ +`timescale 1ns/1ps + +module ddrc_test01_testbench #( + parameter PHASE_WIDTH = 8, + parameter SLEW_DQ = "SLOW", + parameter SLEW_DQS = "SLOW", + parameter SLEW_CMDA = "SLOW", + parameter SLEW_CLK = "SLOW", + parameter IBUF_LOW_PWR = "TRUE", + parameter real REFCLK_FREQUENCY = 300.0, + parameter HIGH_PERFORMANCE_MODE = "FALSE", + parameter CLKIN_PERIOD = 10, //ns >1.25, 600> (i<<3)) & 32'hff); + end + for (i=0;i<19;i=i+1) begin + axi_write_single(BASEADDRESS_LANE1 + (i<<2), (DLY_LANE1 >> (i<<3)) & 32'hff); + end + for (i=0;i<32;i=i+1) begin + axi_write_single(BASEADDRESS_CMDA + (i<<2), (DLY_CMDA >> (i<<3)) & 32'hff); + end + axi_write_single(BASEADDR_DLY_SET, 0); // set all dealys - remove after fixed axi_set_phase + axi_set_phase(DLY_PHASE); + axi_write_single(BASEADDR_DLY_SET, 0); // set all dealys + end + endtask + + task axi_set_phase; + input [PHASE_WIDTH-1:0] phase; + begin + axi_write_single(BASEADDRESS_PHASE, {{(32-PHASE_WIDTH){1'b0}},phase}); + end + endtask + + +// Low-level tasks + task axi_set_rd_lag; + input [3:0] lag; + begin + @(posedge CLK); + RD_LAG <= lag; + end + endtask + + task axi_set_b_lag; + input [3:0] lag; + begin + @(posedge CLK); + B_LAG <= lag; + end + endtask + + reg [11:0] GLOBAL_WRITE_ID=0; + + task axi_write_single; // address in bytes, not words + input [31:0] address; + input [31:0] data; + begin +`ifdef DEBUG_WR_SINGLE + $display("axi_write_single %h:%h @ %t",address,data,$time); +`endif + axi_write_addr_data( + GLOBAL_WRITE_ID, // id +// address << 2, // addr + address & 32'hfffffffc, // addr + data, + 4'h0, // len - single + 1, // burst type - increment + 1'b1, // data_en + 4'hf, // wstrb + 1'b1 // last + ); + GLOBAL_WRITE_ID <= GLOBAL_WRITE_ID+1; + end + endtask + + task axi_write_addr_data; + input [11:0] id; + input [31:0] addr; + input [31:0] data; + input [ 3:0] len; + input [ 1:0] burst; + input data_en; // if 0 - do not send data, only address + input [ 3:0] wstrb; + input last; + reg data_sent; +// wire data_sent_d; +// assign #(.1) data_sent_d= data_sent; + begin + wait (!CLK && AW_READY); + AWID_IN_r <= id; + AWADDR_IN_r <= addr; + AWLEN_IN_r <= len; + AWSIZE_IN_r <= 3'b010; + AWBURST_IN_r <= burst; + AW_SET_CMD_r <= 1'b1; + if (data_en && W_READY) begin + WID_IN_r <= id; + WDATA_IN_r <= data; + WSTRB_IN_r <= wstrb; + WLAST_IN_r <= last; + W_SET_CMD_r <= 1'b1; + data_sent <= 1'b1; + end else begin + data_sent <= 1'b0; + end + DEBUG1 <=1'b1; + wait (CLK); + DEBUG1 <=1'b0; + AWID_IN_r <= 'hz; + AWADDR_IN_r <= 'hz; + AWLEN_IN_r <= 'hz; + AWSIZE_IN_r <= 'hz; + AWBURST_IN_r <= 'hz; + AW_SET_CMD_r <= 1'b0; + DEBUG2 <=1'b1; + if (data_sent) begin + WID_IN_r <= 'hz; + WDATA_IN_r <= 'hz; + WSTRB_IN_r <= 'hz; + WLAST_IN_r <= 'hz; + W_SET_CMD_r <= 1'b0; + end +// Now sent data if it was not sent simultaneously with the address + if (data_en && !data_sent) begin + DEBUG3 <=1'b1; + wait (!CLK && W_READY); + DEBUG3 <=1'b0; + WID_IN_r <= id; + WDATA_IN_r <= data; + WSTRB_IN_r <= wstrb; + WLAST_IN_r <= last; + W_SET_CMD_r <= 1'b1; + wait (CLK); + DEBUG3 <=1'bx; + WID_IN_r <= 'hz; + WDATA_IN_r <= 'hz; + WSTRB_IN_r <= 'hz; + WLAST_IN_r <= 'hz; + W_SET_CMD_r <= 1'b0; + end + DEBUG2 <=1'b0; + #0.1; + data_sent <= 1'b0; + #0.1; + end + endtask + + task axi_write_data; + input [11:0] id; + input [31:0] data; + input [ 3:0] wstrb; + input last; + begin + wait (!CLK && W_READY); + WID_IN_r <= id; + WDATA_IN_r <= data; + WSTRB_IN_r <= wstrb; + WLAST_IN_r <= last; + W_SET_CMD_r <= 1'b1; + wait (CLK); + WID_IN_r <= 12'hz; + WDATA_IN_r <= 'hz; + WSTRB_IN_r <= 4'hz; + WLAST_IN_r <= 1'bz; + W_SET_CMD_r <= 1'b0; + #0.1; + end + endtask + + task axi_read_addr; + input [11:0] id; + input [31:0] addr; + input [ 3:0] len; + input [ 1:0] burst; + begin + wait (!CLK && AR_READY); + ARID_IN_r <= id; + ARADDR_IN_r <= addr; + ARLEN_IN_r <= len; + ARSIZE_IN_r <= 3'b010; + ARBURST_IN_r <= burst; + AR_SET_CMD_r <= 1'b1; + wait (CLK); + ARID_IN_r <= 12'hz; + ARADDR_IN_r <= 'hz; + ARLEN_IN_r <= 4'hz; + ARSIZE_IN_r <= 3'hz; + ARBURST_IN_r <= 2'hz; + AR_SET_CMD_r <= 1'b0; + end + endtask + +endmodule + diff --git a/phy/phy_top.v b/phy/phy_top.v index 3a18dd7..60331cd 100644 --- a/phy/phy_top.v +++ b/phy/phy_top.v @@ -284,7 +284,8 @@ BUFG mclk_i (.O(mclk),.I(mclk_pre) ); ) mmcm_phase_cntr_i ( .clkin (clk_in), // input .clkfbin (clk_fb), // input - .rst (rst), // input +// .rst (rst), // input + .rst (rst_in), // input .pwrdwn (1'b0), // input .psclk (clk_div), // input .ps_we (ld_mmcm), // input @@ -318,7 +319,8 @@ BUFG mclk_i (.O(mclk),.I(mclk_pre) ); ) pll_base_i ( .clkin(clk_in), // input .clkfbin(clkfb_ref), // input - .rst(rst), // input +// .rst(rst), // input + .rst(rst_in), // input .pwrdwn(1'b0), // input .clkout0(clk_ref_pre), // output .clkout1(), // output diff --git a/simulation_modules/simul_axi_fifo_out.v b/simulation_modules/simul_axi_fifo_out.v new file mode 100644 index 0000000..9629bc8 --- /dev/null +++ b/simulation_modules/simul_axi_fifo_out.v @@ -0,0 +1,65 @@ +/************************************** +* Module: simul_axi_fifo +* Date:2014-03-23 +* Author: andrey +* +* Description: +***************************************/ +`timescale 1ns/1ps + +module simul_axi_fifo +#( + parameter integer WIDTH= 64, // total number of output bits + parameter integer LATENCY=0, // minimal delay between inout and output ( 0 - next cycle) + parameter integer DEPTH=8, // maximal number of commands in FIFO +// parameter OUT_DELAY = 3.5, + parameter integer FIFO_DEPTH=LATENCY+DEPTH+1 +// parameter integer DATA_2DEPTH=(1< . + *******************************************************************************/ + +`timescale 1ns/1ps + +module simul_axi_master_rdaddr +#( + parameter integer ID_WIDTH=12, + parameter integer ADDRESS_WIDTH=32, + parameter integer LATENCY=0, // minimal delay between inout and output ( 0 - next cycle) + parameter integer DEPTH=8, // maximal number of commands in FIFO + parameter DATA_DELAY = 3.5, + parameter VALID_DELAY = 4.0 + +// parameter integer DATA_2DEPTH=(1< . + *******************************************************************************/ +`timescale 1ns/1ps + +module simul_axi_master_wdata#( + parameter integer ID_WIDTH=12, + parameter integer DATA_WIDTH=32, + parameter integer WSTB_WIDTH= 4, + parameter integer LATENCY=0, // minimal delay between inout and output ( 0 - next cycle) + parameter integer DEPTH=8, // maximal number of commands in FIFO + parameter DATA_DELAY = 3.5, + parameter VALID_DELAY = 4.0 +)( + input clk, + input reset, + input [ID_WIDTH-1:0] wid_in, + input [DATA_WIDTH-1:0] wdata_in, + input [WSTB_WIDTH-1:0] wstrb_in, + input wlast_in, + output [ID_WIDTH-1:0] wid, + output [DATA_WIDTH-1:0] wdata, + output [WSTB_WIDTH-1:0] wstrb, + output wlast, + output wvalid, + input wready, + + input set_cmd, // latch all other input data at posedge of clock + output ready // command/data FIFO can accept command +); + + wire [ID_WIDTH-1:0] wid_out; + wire [DATA_WIDTH-1:0] wdata_out; + wire [WSTB_WIDTH-1:0] wstrb_out; + wire wlast_out; + wire wvalid_out; + + assign #(DATA_DELAY) wid= wid_out; + assign #(DATA_DELAY) wdata= wdata_out; + assign #(DATA_DELAY) wstrb= wstrb_out; + assign #(DATA_DELAY) wlast= wlast_out; + assign #(VALID_DELAY) wvalid= wvalid_out; + +simul_axi_fifo + #( + .WIDTH(ID_WIDTH+DATA_WIDTH+WSTB_WIDTH+1), // total number of output bits + .LATENCY(LATENCY), // minimal delay between inout and output ( 0 - next cycle) + .DEPTH(DEPTH) // maximal number of commands in FIFO + ) simul_axi_fifo_i ( + .clk(clk), // input clk, + .reset(reset), // input reset, + .data_in({wid_in, wdata_in, wstrb_in, wlast_in}), // input [WIDTH-1:0] data_in, + .load(set_cmd), // input load, + .input_ready(ready), // output input_ready, + .data_out({wid_out, wdata_out, wstrb_out, wlast_out}), // output [WIDTH-1:0] data_out, + .valid(wvalid_out), // output valid, + .ready(wready)); // input ready); + +endmodule + diff --git a/simulation_modules/simul_axi_master_wraddr.v b/simulation_modules/simul_axi_master_wraddr.v new file mode 100644 index 0000000..64fedb8 --- /dev/null +++ b/simulation_modules/simul_axi_master_wraddr.v @@ -0,0 +1,90 @@ +/******************************************************************************* + * Module: simul_axi_master_wraddr + * Date:2014-03-24 + * Author: Andrey Filippov + * Description: Simulation model for AXI write address channel + * + * Copyright (c) 2014 Elphel, Inc.. + * simul_axi_master_wraddr.v is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * simul_axi_master_wraddr.v 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + *******************************************************************************/ +`timescale 1ns/1ps + +module simul_axi_master_wraddr +#( + parameter integer ID_WIDTH=12, + parameter integer ADDRESS_WIDTH=32, + parameter integer LATENCY=0, // minimal delay between inout and output ( 0 - next cycle) + parameter integer DEPTH=8, // maximal number of commands in FIFO + parameter DATA_DELAY = 3.5, + parameter VALID_DELAY = 4.0 +)( + input clk, + input reset, + input [ID_WIDTH-1:0] awid_in, + input [ADDRESS_WIDTH-1:0] awaddr_in, + input [3:0] awlen_in, + input [2:0] awsize_in, + input [1:0] awburst_in, + input [3:0] awcache_in, + input [2:0] awprot_in, + + output [ID_WIDTH-1:0] awid, + output [ADDRESS_WIDTH-1:0] awaddr, + output [3:0] awlen, + output [2:0] awsize, + output [1:0] awburst, + output [3:0] awcache, + output [2:0] awprot, + output awvalid, + input awready, + + input set_cmd, // latch all other input data at posedge of clock + output ready // command/data FIFO can accept command +); + wire [ID_WIDTH-1:0] awid_out; + wire [ADDRESS_WIDTH-1:0] awaddr_out; + wire [3:0] awlen_out; + wire [2:0] awsize_out; + wire [1:0] awburst_out; + wire [3:0] awcache_out; + wire [2:0] awprot_out; + wire awvalid_out; + + assign #(DATA_DELAY) awid= awid_out; + assign #(DATA_DELAY) awaddr= awaddr_out; + assign #(DATA_DELAY) awlen= awlen_out; + assign #(DATA_DELAY) awsize= awsize_out; + assign #(DATA_DELAY) awburst= awburst_out; + assign #(DATA_DELAY) awcache= awcache_out; + assign #(DATA_DELAY) awprot= awprot_out; + assign #(VALID_DELAY) awvalid= awvalid_out; + +simul_axi_fifo + #( + .WIDTH(ID_WIDTH+ADDRESS_WIDTH+16), // total number of output bits + .LATENCY(LATENCY), // minimal delay between inout and output ( 0 - next cycle) + .DEPTH(DEPTH) // maximal number of commands in FIFO +// parameter OUT_DELAY = 3.5, + ) simul_axi_fifo_i ( + .clk(clk), // input clk, + .reset(reset), // input reset, + .data_in({awid_in,awaddr_in,awlen_in,awsize_in,awburst_in,awcache_in,awprot_in}), // input [WIDTH-1:0] data_in, + .load(set_cmd), // input load, + .input_ready(ready), // output input_ready, + .data_out({awid_out,awaddr_out,awlen_out,awsize_out,awburst_out,awcache_out,awprot_out}), // output [WIDTH-1:0] data_out, + .valid(awvalid_out), // output valid, + .ready(awready)); // input ready); + +endmodule + diff --git a/simulation_modules/simul_axi_read.v b/simulation_modules/simul_axi_read.v new file mode 100644 index 0000000..6236ee0 --- /dev/null +++ b/simulation_modules/simul_axi_read.v @@ -0,0 +1,86 @@ +/******************************************************************************* + * Module: simul_axi_read + * Date:2014-04-06 + * Author: Andrey Filippov + * Description: simulation of read data through maxi channel + * + * Copyright (c) 2014 Elphel, Inc. + * simul_axi_read.v is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * simul_axi_read.v 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + *******************************************************************************/ +`timescale 1ns/1ps + +module simul_axi_read( + input clk, + input reset, + input last, // last data word in burst + input data_stb, // data strobe (RVALID & RREADY) genearted externally + input [ 9:0] raddr, // read burst address as written by axi master, 10 significant bits [11:2], valid at rcmd + input [ 3:0] rlen, // burst length as written by axi master, valid at rcmd + input rcmd, // read command (address+length) strobe + output [ 9:0] addr_out, // output address + output burst, // burst in progress + output reg err_out); // data last does not match predicted or FIFO over/under run + + wire [ 9:0] raddr_fifo; // raddr after fifo + wire [ 3:0] rlen_fifo; // rlen after fifo + wire fifo_valid; // fifo out valid +// wire fifo_re; // fifo read strobe + reg burst_r=0; + reg [ 3:0] left_plus_1; +// wire start_burst=fifo_valid && (!burst_r || (last && data_stb)); +// wire start_burst=fifo_valid && data_stb && (!burst_r || last ); + wire start_burst=fifo_valid && data_stb && !burst_r; + wire generated_last= burst?(left_plus_1==1): ( fifo_valid && (rlen_fifo==0)) ; + wire fifo_in_rdy; + wire error_w= (data_stb && (last != generated_last)) || (rcmd && !fifo_in_rdy) || (start_burst && !fifo_valid); + reg [ 9:0] adr_out_r; +// reg was_last; + + assign burst=burst_r || start_burst; + assign addr_out=start_burst?raddr_fifo:adr_out_r; + always @ (posedge reset or posedge clk) begin + if (reset) burst_r <= 0; + else if (start_burst) burst_r <= rlen_fifo!=0; +// else if (last && data_stb) burst_r <= 0; + else if (generated_last && data_stb) burst_r <= 0; + if (reset) left_plus_1 <= 0; + else if (start_burst) left_plus_1 <= rlen_fifo; + else if (data_stb) left_plus_1 <= left_plus_1-1; + if (reset) err_out <= 0; + else err_out <= error_w; +// if (reset) was_last <= 0; +// else if (data_stb) was_last <= last; + + end + always @ (posedge clk) begin + if (start_burst) adr_out_r <= raddr_fifo+1; // simulating only address incremental mode + else if (data_stb) adr_out_r <= adr_out_r + 1; + + end +simul_fifo +#( + .WIDTH(14), + .DEPTH(64) +)simmul_fifo_i( + .clk(clk), + .reset(reset), +// .data_in({rlen[3:0],raddr[11:2]}), // did not detect raddr[11:2] for input [ 9:0] raddr + .data_in({rlen[3:0],raddr}), + .load(rcmd), + .input_ready(fifo_in_rdy), + .data_out({rlen_fifo, raddr_fifo}), + .valid(fifo_valid), + .ready(start_burst)); +endmodule + diff --git a/simulation_modules/simul_axi_slow_ready.v b/simulation_modules/simul_axi_slow_ready.v new file mode 100644 index 0000000..bf4a5ff --- /dev/null +++ b/simulation_modules/simul_axi_slow_ready.v @@ -0,0 +1,40 @@ +/******************************************************************************* + * Module: simul_axi_slow_ready + * Date:2014-03-24 + * Author: Andrey Filippov + * Description: Simulation model for AXI: slow ready generation + * + * Copyright (c) 2014 Elphel, Inc.. + * simul_axi_slow_ready.v is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * simul_axi_slow_ready.v 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + *******************************************************************************/ +`timescale 1ns/1ps + +module simul_axi_slow_ready( + input clk, + input reset, + input [3:0] delay, + input valid, + output ready + ); + reg [14:0] rdy_reg; + assign ready=(delay==0)?1'b1: ((((rdy_reg[14:0] >> (delay-1)) & 1'b1) != 0)?1'b1:1'b0); + always @ (posedge clk or posedge reset) begin + if (reset) rdy_reg <=0; + else if (!valid || ready) rdy_reg <=0; + else rdy_reg <={rdy_reg[13:0],valid}; + end + + +endmodule + diff --git a/simulation_modules/simul_fifo.v b/simulation_modules/simul_fifo.v new file mode 100644 index 0000000..761b3f9 --- /dev/null +++ b/simulation_modules/simul_fifo.v @@ -0,0 +1,65 @@ +/******************************************************************************* + * Module: simul_fifo + * Date:2014-04-06 + * Author: Andrey Filippov + * Description: simple fifo for simulation + * + * Copyright (c) 2014 Elphel, Inc. + * simul_fifo.v is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * simul_fifo.v 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + *******************************************************************************/ +`timescale 1ns/1ps + +module simul_fifo +#( + parameter integer WIDTH= 32, // total number of output bits + parameter integer DEPTH= 64, // maximal number of words in FIFO +// parameter OUT_DELAY = 3.5, + parameter integer FIFO_DEPTH=DEPTH+1 +// parameter integer DATA_2DEPTH=(1< . + *******************************************************************************/ +`timescale 1ns/1ps + +module fifo_cross_clocks +#( + parameter integer DATA_WIDTH=16, + parameter integer DATA_DEPTH=4 // >=3 +) ( + input rst, // reset, active high + input rclk, // read clock - positive edge + input wclk, // write clock - positive edge + input we, // write enable + input re, // read enable + input [DATA_WIDTH-1:0] data_in, // input data + output [DATA_WIDTH-1:0] data_out, // output data + output nempty, // FIFO has some data (sync to rclk) + output half_empty // FIFO half full (wclk) -(not more than 5/8 full) + ); + localparam integer DATA_2DEPTH=(1< . + *******************************************************************************/ +`timescale 1ns/1ps + +module fifo_same_clock +#( + parameter integer DATA_WIDTH=16, + parameter integer DATA_DEPTH=4 +) + ( + input rst, // reset, active high + input clk, // clock - positive edge + input we, // write enable + input re, // read enable + input [DATA_WIDTH-1:0] data_in, // input data + output [DATA_WIDTH-1:0] data_out, // output data + output reg nempty, // FIFO has some data + output reg full, // FIFO full + output reg half_full // FIFO half full + ); + localparam integer DATA_2DEPTH=(1<