[Libre-soc-dev] Unexpected clock connexions.
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Thu Jun 3 13:47:12 BST 2021
rrright.
* debug DMI and JTAG need to run at PLL clock but use *GLOBAL EXTERNAL
RESET*
* all parts of TestIssuerInternal EXCEPT debug and DMI need to run at PLL
clock and
have a RESET that is *DRIVEN BY debug DMI* (which, in turn, is driven by
JTAG)
* TestIssuer is combinatorial and simply contains PLL and
TestIssuerInternal.
the reason why Debug / JTAG drives the TestIssuerInternal RESET signal
should
be obvious / clear: the processor and all components needs to be resettable
over
JTAG.
therefore, i imagine, it is not sys_rst that must be an H-Tree, it is the
Debug DMI
reset_output signal that must be an H-Tree.
summary again:
* TestIssuer runs at sys_clk, receives sys_rst
- sends sys_clk to PLL, receives coresync_clk_o
- sends coresync_clk_o to TestIssuerInternal
- sends sys_rst to TestIssuerInternal
* TestIssuerInternal receives sys_rst and coresync_clk_o
- sends coresync_clk_o to ALL components
- sends sys_rst to JTAG and Debug/DMI
- RECEIVES reset_output from Debug / DMI
- SENDS reset_output to all components (SRAM, Core)
Jean-Paul: is this practical?
if not, then i will *DISABLE* DMI/JTAG reset - which will be a damn
nuisance - the only
way to reset the processor will be a hard external sys_rst line.
l.
More information about the Libre-soc-dev
mailing list