chipsalliance / Cores-VeeR-EH1

VeeR EH1 core
Apache License 2.0
808 stars 219 forks source link

Boot code from iccm #15

Closed milk0920 closed 4 years ago

milk0920 commented 5 years ago

Hi , if we want to use the iccm ,Can I simply edit the link file, And let the cpu core to automatically download the code from external rom/ram/flash, is that possible, if we do not have the dma master design, but we still want to run code in iccm

aprnath commented 5 years ago

SweRV provided two possible ways to load the ICCM in a system:

  1. Use an external DMA engine to load the image into the ICCM

  2. Create a loopback filtered path via the load/store bus to the DMA port such that load/stores targeting the ICCM addresses are routed back to the DMA port. Then you 'copy' your instructions from external memory to the ICCM using memcopy style functions.

Either technique requires you to have your initial boot code in external memory.

In a synthetic/verification environment you may be able to directly load/slam/preload the ICCM prior to reset.

milk0920 commented 5 years ago

Dear Sir,

Since the wd ahb lite master is has ahb ic master and ahb lsu master , if i still use the tb.v that you provided, it looks like all the program.hex is belong to the ahb ic master domain, and the data.hex is belong to the ahb lsu master domain, how could I seperate the program.hex into two program.hex file, one is still in ahb ic master domain, the other is need to merge the data.hex , and put it in the ahb lsu domain, how can i edit the link file to make it happen? Could you provide us some link file example , if the prom is at 0x70000000 , and the dram is at 0x90000000, the iccm is at 0x00080000,please help me

milk0920 commented 5 years ago

I think the ahb lsu decoder can implement different hsel to filtered the lsu master signal to dma ahb slave and others ahb lsu slave , and seperate the ahb slave data to master, I think the loopback ahb lsu hardware that you mean, I could try to implement it,

milk0920 commented 5 years ago

Dear Sir,

Since the wd ahb lite master is has ahb ic master and ahb lsu master , if i still use the tb.v that you provided, it looks like all the program.hex is belong to the ahb ic master domain, and the data.hex is belong to the ahb lsu master domain, how could I seperate the program.hex into two program.hex file, one is still in ahb ic master domain, the other is need to merge the data.hex , and put it in the ahb lsu domain, how can i edit the link file to make it happen? Could you provide us some link file example , if the prom is at 0x70000000 , and the dram is at 0x90000000, the iccm is at 0x00080000,please help me

agrobman commented 4 years ago

provided TB doesn't support any usage of ICCM

agrobman commented 4 years ago

checkout latest and *_iccm test ...

aprnath commented 4 years ago

Closing this. Please see prior comment about using the *iccm tests. It enables one of

Thanks