棋子 · 2020年02月10日

Cycle accurate Cortex-M3 simulator using obsfucated RTL

I stumbled upon this page which brought up some questions:

https://developer.arm.com/too...

The obsfucated RTL is synthesizable and should be cycle accurate. I don't see any technical reasons why the RTL could not be verilated and run as a simulator. I understand that you would need to add peripherals to the buses to make it useful along with some glue to handle JTAG. Am I missing something or has no one gone down that path?

On the licensing front I know I agreed to a click-thru license to download the designstart package but I can't seem to locate it. Does anyone have a link or know what the distribution restrictions of a verilated binary produced from the obsfucated RTL are?

Bonus question: Does anyone have a rough estimate of the frequency that the ARM cycle model can run at on a modern PC? 10kHz? 100kHz? 1MHz?

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2020年02月10日

Just to clarify my intentions I plan on using this in-house as a flexible virtual system platform. For JTAG it should be pretty easy to write a "bitbang server" and then use openocd as the GDB server. There will be two layers of peripherals, both loadable as runtime plugins. The AXI bus peripherals will have a memory interface, they can optionally export "ports" which will connect to secondary peripherals. These ports would correspond to fixed interface types (UART, SPI, I2C, etc). The secondary peripherals would then be LCD controllers, sensors, SD card, etc.

Of course this would be more useful if it could be used (and improved upon) by other developers. I suppose worst case I can release everything else and have them drop in cortexm3ds_logic.v before compiling. I'd be curious to hear if anyone else is interested in this? It likely would be much slower than the ARM fast model (which I tested and appears to run around 4 million instructions per second.

你的回答
关注数
1
收藏数
0
浏览数
2334
极术小姐姐
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息