<div dir="ltr"><div>Hi J-Core developers!</div><div><br></div><div>I'm the creator of HDMI2USB.tv, a system which uses FPGA hardware to create FOSS systems for capturing user groups and conferences. To do that we use a Python based "System on Chip" solution called LiteX[1] (based on Migen+MiSoC[2]). I actually gave a talk on why we do this at <a href="http://Linux.conf.au">Linux.conf.au</a> 2017 recent[3] that Rob Landley was also speaking at.</div><div><br></div><div> [1]: <a href="https://github.com/enjoy-digital/litex">https://github.com/enjoy-digital/litex</a></div><div> [2]: <a href="https://m-labs.hk/gateware.html">https://m-labs.hk/gateware.html</a></div><div> [3]: <a href="https://www.youtube.com/watch?v=MkVX_mh5dOU">https://www.youtube.com/watch?v=MkVX_mh5dOU</a> - Using Python for creating hardware to record FOSS conferences!</div><div><br></div><div>One of the nice things about LiteX is that it supports multiple different soft CPU implementations by just changing one argument. Currently we have support for the lm32, mor1k & picorv32[4]. However, at the moment we don't really have an architecture which has both good upstream GCC (and related) and good upstream Linux support. </div><div><br></div><div> [4]: <a href="https://github.com/enjoy-digital/litex/tree/master/litex/soc/cores/cpu">https://github.com/enjoy-digital/litex/tree/master/litex/soc/cores/cpu</a></div><div><br></div><div>Hence, I'm really interested in adding "J-Core" / sh2+sh4 support to that list and wanted advice about the best way to approach this problem. As we already have our own set of peripherals (UART, DDR controller, Ethernet, etc) we just want to use the CPU core rather than your full SoC. Do you have any advice on the best way to do this? What would be the best way to extract "just the CPU"?<br></div><div><br></div><div>Normally we would use something like Verilator or iVerilog to get the basics working (CPU executing instructions and interrupts) in simulation, but as J-Core is VHDL there doesn't seem a good FOSS option for doing things that way (although I guess we could try rqou's co-simulation method[5]).</div><div><br></div><div> [5]: <a href="https://github.com/rqou/myhdl-vhdl-verilog-test">https://github.com/rqou/myhdl-vhdl-verilog-test</a></div><div><br></div><div>Most interested developers already have a MimasV2 platform and we have gotten many of the peripherals working with LiteX already.</div><div><br></div><div>Thanks for your help!</div><div><br></div><div>Tim 'mithro' Ansell</div></div>