??? 08/09/08 07:04 Read: times |
#157345 - VHDL Responding to: ???'s previous message |
The problem with free IP cores are that they tend to be described in VHDL. This is good for compilation into silicon or into FPGA or similar. But I need to do the emulation using C.
Yes, I can of course read the VHDL and use as specification when writing the C code. Emulating a processor in itself isn't so extremely hard. But the complexities quickly increases when the emulated processor has an MMU. Emulating a MIPS in an ARM7 would indirectly mean that a smaller processor has to emulate a larger. The concept with RISC processors is that each instruction should be simple, so that the hw can run at a very high clock frequency. But that also implies that it may take multiple instructions to perform the job of a single CISC instruction. And a normal RISC program tends to be larger because of the many (but regularly formed) instructions needed. If I develop my own abstract machine, then a 32-bit machine isn't a problem since I can make sure that it matches the capabilities of an ARM7. If emulating a real processor, then it is porbably way better to emulate an 8-bit or 16-bit processor. 8-bit and 16-bit processors are better optimized for use with limited memory, and they are also free from MMU and other complexities. I have been thinking a bit about the SDCC compiler and emulating a Z80, or the gcc compiler and emulting an AVR chip. I have written emulators for both the Z80 and the AVR Mega88 so I would at least have a running start if I select any of these cores. Another alternative I have been looking at is to use Small-C http://en.wikipedia.org/wiki/Small-C either with Z80 emulation, or possibly with a customized virtual processor. A possibility would also be to see if there are any usable 8086 emulators, which would indirectly allow a lot of old MS-DOS tools to be used. |
Topic | Author | Date |
Virtual or existing architecture for emulation | 01/01/70 00:00 | |
Additional info about host/usage | 01/01/70 00:00 | |
How about MIPS? | 01/01/70 00:00 | |
VHDL | 01/01/70 00:00 | |
take a look at the content | 01/01/70 00:00 | |
I think 8 or 16 bit is optimum | 01/01/70 00:00 | |
Maybe you should start with an ARM chip | 01/01/70 00:00 | |
I2L sounds interesting | 01/01/70 00:00 | |
It's probably best to check with the maintainers | 01/01/70 00:00 | |
Doesn't seem to be a C to I2L | 01/01/70 00:00 | |
The LLVM Compiler Infrastructure | 01/01/70 00:00 | |
Since there's help available ... | 01/01/70 00:00 | |
With the low price of 8-bit single chip MCUs... | 01/01/70 00:00 | |
Slave processors not an alternative | 01/01/70 00:00 | |
Users | 01/01/70 00:00 | |
Probably debugging on PC | 01/01/70 00:00 | |
Are you really going to do that! | 01/01/70 00:00 | |
Existing building blocks helps | 01/01/70 00:00 | |
It hasn't been done for you but ... | 01/01/70 00:00 | |
When I was in school ... | 01/01/70 00:00 |