This list is for discussion of the design and implementation of field-programmable gate array based processors and integrated systems. It is also for discussion and community support of the XSOC Project (see http://www.fpgacpu.org/xsoc).
|
Greetings, I'm currently working on a project in which I am required to implement a CPU core on an XSV-800 board. The CPU will need to have the capabilities that the xr16 has on the boards it was optimized for (GNU tools, C compiler, etc.). I have perused some documents on the xr16 and have downloaded the current xr16 package. I have also read the document at www.fpgapcu.org/xsoc2/log.html, which outlines Jan's work on this exact area. My question here is: has a successful port been made that actually has a compatible C compiler (and other GNU tools) as does the xr16? If so, where could I find that particular version of the xr16, or the changes made to it such that I could modify the version I already found? I regret to admit that I am not a CPU developer, and therefore feel somewhat in over my head. I'm not even sure that a new C compiler would be needed after such a port. So, any and all help here would be greatly appreciated. The existence of this community has already done wonders for my project so, I thank you all for that; as well as in advance for any other help you can give. Sincerely, Ray Harlan |
|
|
|
Ray, I think you could start with Jan's xr16 verilog, modifying the memory to suit the SRAM on the XSV-800, or using BlockRAM. You would need a way to load the memory with your code, but maybe there's already an XESS utility for this. So long as a CPU implements the xr16 instruction set correctly, no changes to the compiler are needed. You just need a way to get the binary into the xr16 CPU's memory. I have written an implementation of an xr16 CPU in synthesizable Verilog, with the Virtex/Spartan-II in mind, and have hitched it to a pair of BlockRAMs for memory. It ran Jan's xr16 tests in simulation, but I've since made some speed optimizations and now a little more debugging is necessary. Timing analysis says 47 MHz with memory on a Spartan-II XC2S100-5. I'll put it up on my web page when it's running on my Insight XC2S board. --Mike wrote: > > Greetings, > I'm currently working on a project in which I am required to implement > a CPU core on an XSV-800 board. The CPU will need to have the > capabilities that the xr16 has on the boards it was optimized for > (GNU tools, C compiler, etc.). I have perused some documents on the > xr16 and have downloaded the current xr16 package. I have also read > the document at www.fpgapcu.org/xsoc2/log.html, which outlines Jan's > work on this exact area. My question here is: has a successful port > been made that actually has a compatible C compiler (and other GNU > tools) as does the xr16? If so, where could I find that particular > version of the xr16, or the changes made to it such that I could > modify the version I already found? I regret to admit that I am not a > CPU developer, and therefore feel somewhat in over my head. I'm not > even sure that a new C compiler would be needed after such a port. So, > any and all help here would be greatly appreciated. The existence of > this community has already done wonders for my project so, I thank you > all for that; as well as in advance for any other help you can give. > > Sincerely, > Ray Harlan > > To Post a message, send it to: > To Unsubscribe, send a blank message to: |
|
I've been holding back my Virtex changes hoping to put together another polished build of the whole XSOC kit. Alas I've been busy with other things and this isn't happening. If I don't get a new build of the whole kit done by Friday, I'll try to at least put out the xr16 and XSOC changes for Virtex by then. Note that there does not currently appear to be an easy way to XSLOAD the external SRAM on the XESS XSV-300/800 boards. There is a way to preload the FLASH, so presumably you could have a small on-chip boot ROM (initialized block RAM) that copies FLASH to RAM and runs out of that. I believe that is what is done to boot ucLinux with Jiri Gaisler's LEON SPARC on XCV800. Jan Gray, Gray Research LLC |