



between or1200 verilog revision and toolchain?
by nick02 on Nov 13, 2015 |
nick02
Posts: 9 Joined: Oct 21, 2014 Last seen: Dec 22, 2016 |
||
Hi,
What�s the major difference between or1200 verilog revision 1.12 and 2.0 ? I use revision 1.12 rtl and toolchain of pre-compiled version mentioned in http://opencores.org/forum,OpenRISC,0,3627 . The result is correct in rtl simulation. But when I try or1200 revision 2.0 these days, the behavior of or1200 is not as expected. This is because OR1200_IMPL_ALU_ROTATE is disabled in original or1200_define.v, and then l.slli instruction cause illegal exception!! After I modify or1200_define.v, this case is solved. There are still some errors of the behavior and maybe other similar cases won�t be touched in my current code. So how to align the or1200 verilog revision (configuration) and toolchain? Is there any standard or1200_define.v setting for this toolchain? Best Regards. Nick |
RE: between or1200 verilog revision and toolchain?
by olof on Nov 13, 2015 |
olof
Posts: 218 Joined: Feb 10, 2010 Last seen: Dec 17, 2018 |
||
Hi Nick,
These are really really old instructions. You can find precompiled toolchains here http://openrisc.io/newlib/ or build instructions here http://openrisc.io/newlib/building.html I'm not sure where you got the revision number (1.12 and 2.0), but you can find the latest or1200 here https://github.com/openrisc/or1200 I would however suggest that you replace or1200 with the newer mor1kx instead (here https://github.com/openrisc/mor1kx/) We don't do any development on or1200 anymore, so mor1kx is likely the better option. //Olof |
RE: between or1200 verilog revision and toolchain?
by nick02 on Nov 17, 2015 |
nick02
Posts: 9 Joined: Oct 21, 2014 Last seen: Dec 22, 2016 |
||
Hi Olof,
Thanks a lot for your information! I am trying mor1kx now. Since I can�t get documents about instruction sets in mor1kx, I guess it�s the same with or1200. Can I still use the previous toolchain for mor1kx? Does the precompiled toolchain in (https://github.com/openrisc/or1200) apply for or1200 or mor1kx? Btw, I got the rtl revision number from header of verilog file and the latest or1200 in (https://github.com/openrisc/or1200) is revision 2.0 =========================================== // $Log: or1200_top.v,v $ // Revision 2.0 2010/06/30 11:00:00 ORSoC // Major update: // Structure reordered. =========================================== Best Regards. Nick |
RE: between or1200 verilog revision and toolchain?
by olof on Nov 17, 2015 |
olof
Posts: 218 Joined: Feb 10, 2010 Last seen: Dec 17, 2018 |
||
Hi Nick,
Yes, mor1kx is just another implementation of the or1k architecture, so it uses the same basic instruction set as or1200. mor1kx actually supports a few more instructions than or1200. We did an update to the or1k architecture specification a few years ago to add support for atomic instructions (needed for multicore implementations). These instructions are implemented in mor1kx, but no one has added them to or1200. You can read more about that in the latest architecture specification (http://opencores.org/websvn,filedetails?repname=openrisc&path=%2Fopenrisc%2Ftrunk%2Fdocs%2Fopenrisc-arch-1.1-rev0.pdf) You should be able to use your old toolchain for mor1kx, but I would recommend to update to a newer one, since the one you are using is quite old. We have fixed many bugs and improved both performance as well as compatibility over the years. Hope this helps and don't hesitate to ask for more advice FYI, if you want to run SoCs based on or1200 or mor1kx in simulation or FPGA target, you can look at the FuseSoC framework to get you started quickly. https://github.com/olofk/fusesoc //Olof |



