Hold ml507 in reset while clock not locked
This commit is contained in:
		| @@ -99,6 +99,7 @@ class ml507_sys_clock extends BlackBox { | |||||||
|   val io = new Bundle { |   val io = new Bundle { | ||||||
|     val CLKIN_IN  = Bool(INPUT) |     val CLKIN_IN  = Bool(INPUT) | ||||||
|     val CLKFX_OUT = Clock(OUTPUT) |     val CLKFX_OUT = Clock(OUTPUT) | ||||||
|  |     val LOCKED_OUT = Bool(OUTPUT) | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -163,6 +163,7 @@ abstract class ML507Shell(implicit val p: Parameters) extends RawModule { | |||||||
|   val pcie_dat_clock  = Wire(Clock()) |   val pcie_dat_clock  = Wire(Clock()) | ||||||
|   val pcie_cfg_clock  = Wire(Clock()) |   val pcie_cfg_clock  = Wire(Clock()) | ||||||
|   val mmcm_lock_pcie  = Wire(Bool()) |   val mmcm_lock_pcie  = Wire(Bool()) | ||||||
|  |   val clk_locked      = Wire(Bool()) | ||||||
|  |  | ||||||
|  |  | ||||||
|   //----------------------------------------------------------------------- |   //----------------------------------------------------------------------- | ||||||
| @@ -186,6 +187,7 @@ abstract class ML507Shell(implicit val p: Parameters) extends RawModule { | |||||||
|   val ml507_sys_clock = Module(new ml507_sys_clock) |   val ml507_sys_clock = Module(new ml507_sys_clock) | ||||||
|   ml507_sys_clock.io.CLKIN_IN := sys_clock.asUInt |   ml507_sys_clock.io.CLKIN_IN := sys_clock.asUInt | ||||||
|   val clk50 = ml507_sys_clock.io.CLKFX_OUT |   val clk50 = ml507_sys_clock.io.CLKFX_OUT | ||||||
|  |   clk_locked := ml507_sys_clock.io.LOCKED_OUT | ||||||
|  |  | ||||||
|   // DUT clock |   // DUT clock | ||||||
|   dut_clock := clk50 |   dut_clock := clk50 | ||||||
| @@ -194,7 +196,7 @@ abstract class ML507Shell(implicit val p: Parameters) extends RawModule { | |||||||
|   // System reset |   // System reset | ||||||
|   //----------------------------------------------------------------------- |   //----------------------------------------------------------------------- | ||||||
|  |  | ||||||
|   do_reset             := !mig_mmcm_locked || !mmcm_lock_pcie || mig_sys_reset |   do_reset             := !clk_locked || sys_reset | ||||||
|   mig_resetn           := !mig_reset |   mig_resetn           := !mig_reset | ||||||
|   dut_resetn           := !dut_reset |   dut_resetn           := !dut_reset | ||||||
|   pcie_dat_resetn      := !pcie_dat_reset |   pcie_dat_resetn      := !pcie_dat_reset | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user