Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
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.

List of 20 messages in thread
TopicAuthorDate
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      

Back to Subject List