Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20704 Discussions

emulation and simulation

Altera_Forum
Honored Contributor II
1,443 Views

Hi. I have read some articles(wikipedia and so on) and confuse on the meaning about the emulation and hardware emulator. Besides, FPGA prototyping is very near to emulator. 

 

 

My question is: 

1. if a system is constructed by software and hardware(FPGA), is this system considered as emulator? The intention of the software is to provide test input to the hardware and receive the output from it. 

 

2. How about the test input is provided by the test equipment? 

 

3. If quartus II work with FPGA board, is it considered as emulator since quartus II provides the function of signal tap II logic analyzer for debugging purpose?  

 

Thanks
0 Kudos
6 Replies
Altera_Forum
Honored Contributor II
455 Views

My Answers: 

1. It depeneds. If it behaves like something else, and will run the same programs as the other thing in the same way, it is an emulator. If you created a system that runs code, but not in the same way, it is a simulator. If it is a brand new design, for example, an implementation of an FFT, it is neither an emulator or simulator. 

 

2. I dont understand the question. 

 

3. See 1. 

 

Simulation usually means you have created something that runs like something else, but not in the same way (ie. input and output match, but functionality doesnt). 

 

Emulation means everything matches. 

 

Often, FPGA designs are not trying to copy anything.
0 Kudos
Altera_Forum
Honored Contributor II
455 Views

I will add also my wording: 

 

remember software(pc or embedded) depends on serial fetch-execute instructions. while hardware is direct(and parallel). 

 

You can simulate hardware using software. i.e. the serial fetch-execute instructions can model the behaviour of direct hardware. 

 

You can also produce another hardware platform to directly model your hardware and this is emulation without using software. 

 

If you are modelling software itself with another software then this can be viewed as emulation as well.
0 Kudos
Altera_Forum
Honored Contributor II
455 Views

Tricky, 

 

I don't really understand on your 1st answer and simulation. Can you give more concrete example? 

 

Just ignore my 2nd question. 

 

Thanks a lot
0 Kudos
Altera_Forum
Honored Contributor II
455 Views

An FPGA on its own is neither a simulator or an Emulator. It is only these things if you want it to be. Quartus has nothing to do with it, other than for compiling and debugging purposes. 

 

If you wanted to simulate a processor, then you could use an FPGA. If you wanted to emulate a processor, then you could use an FPGA. if you wanted to create a new specificially designed co-processor, like an FFT, that talks to a processor, then it is not a simulator, and it is not an emulator. It is a peice of hardware like anything else.
0 Kudos
Altera_Forum
Honored Contributor II
455 Views

kaz, 

 

simulation and modeling is an another issue for me.  

 

"You can also produce another hardware platform to directly model your hardware and this is emulation without using software." 

 

Is that mean FPGA(or any programmable logic)? can you give some example. 

 

"If you are modelling software itself with another software then this can be viewed as emulation as well." 

 

What do you mean by modeling software itself? 

 

 

Thanks
0 Kudos
Altera_Forum
Honored Contributor II
455 Views

 

--- Quote Start ---  

 

simulation and modeling is an another issue for me.  

 

--- Quote End ---  

 

 

To simulate a system using another system you need to model it first. 

 

 

--- Quote Start ---  

 

"You can also produce another hardware platform to directly model your hardware and this is emulation without using software." 

 

Is that mean FPGA(or any programmable logic)? can you give some example. 

 

--- Quote End ---  

 

 

fpga prototyping for asic target is a type of emulation(though commercial emulators add extra debug features, not just fpga). Using a cyclone device to test a program meant for stratix is also emulation. 

 

 

--- Quote Start ---  

 

 

"If you are modelling software itself with another software then this can be viewed as emulation as well." 

 

What do you mean by modeling software itself? 

 

--- Quote End ---  

 

 

in fact the word emulation was first coined for software. 

 

Example, you design FIR filter and model in your PC. If your final target is a DSP(software) based FIR then you are emulating it on the PC(if we ignore the difference of instruction sets between PC and DSP). If your target is FPGA then you are simulating it. 

 

Don't worry much about terms, they are context dependant, relative and may vary. All you need is to know first we have two systems, one used to copy the other. Simulation models a system(e.g. your fpga) using a different system(PC software). Emulation models like by like(as close as possible, possibly never exactly).
0 Kudos
Reply