Ellen Wood
10/24/2023, 1:28 PMTim Edwards
10/24/2023, 2:08 PMEllen Wood
10/25/2023, 8:57 AMTim Edwards
10/25/2023, 1:04 PMEllen Wood
11/01/2023, 1:59 PMuser_clock2
.
Do you know how to, in the firmware, turn off user_clock2
whilst our wbs_clk_i
is still running?
John believes there was a schematic drawing of how the clock system worked, describing the DLL and what registers were used to do the settings for it, but we cant seem to find it now. Do you know if such a thing still exists?Ellen Wood
11/01/2023, 1:59 PMAnton Maurovic
11/01/2023, 2:10 PMreg_hkspi_pll_ena = 1;
reg_hkspi_pll_source = 0b00001111;
reg_hkspi_pll_bypass = 0;
I'm simulating by wrapping a caravel
instantiation inside a Verilog TB, then running a gate-level sim (it's just my user project that's the gate-level part) using cocotb/iverilog. When the last line executes, it seems wb_clk_i
and user_clock2
both glitch, then wb_clk_i
starts clocking at about 5% slower than the external input clock
. Meanwhile, user_clock2
seems to stop. I was actually expecting the lines above would slow down user_clock2
, not stop it. But if this is a way to do it... well, fine ๐ But why does it work? The doco I was using is this (at the bottom): https://github.com/efabless/caravel/blob/main/docs/rst/digital_locked_loop.rstEllen Wood
11/01/2023, 2:13 PMAnton Maurovic
11/01/2023, 2:14 PMreg_hkspi_pll_source
register... at least, compared to the diagram Ellen posted.Ellen Wood
11/01/2023, 2:15 PMEllen Wood
11/01/2023, 2:15 PMAnton Maurovic
11/01/2023, 2:18 PM..._source
and ..._divider
registers swapped by mistake, but I can't be sure.Anton Maurovic
11/01/2023, 2:32 PMclock
in this screenshot is the external clock source.