Simulation eMIPS on ModelSim (Migrated from community.research.microsoft.com) RRS feed

  • Question

  • Hello everybody,

    I'm Francesco from Italy.

    I need to simulate eMIPS on ModelSim, it is a very simple task for you (and maybe stupid task Tongue Tied, sorry for that:-) but I got several problems. I found solutions for lots of them but I need the last step to finish.

    My problem is linked to memory.

    I'm going to explain my previous steps:

     1 – Import on ModelSim all necessary modules to stand up eMIPS;

      2 – Write a simple program and compile it;

      3 – Last step: simulation.

    About first point, I imported all modules under TISA directory, top directory and simulation directory (for the testbench). More over, I create a blockram_br and a FIFO with xilinx as explained in the “Microsoft eMIPS.pdf” guide.

    Second point: the program under test is:

    li $1, 4 ;

    lb $2,0x50($0) ;

    add $1, $1, $2 ;

    li $2, 2;

    add $1, $1, $2 ;

    sb $1, 0x51($0);

    I want to use only blockram memory for instructions and data. I put 03 in the location 0x50 and after the execution of these instructions, I expect 9 in the location 0x51.

    I'm using the debug section in TISA, so I know that I compiled it correctly because I can see the instructions during the simulation. So the instructions are fetched correctly but there are some problems with data.

    The problem is the MEMORY and maybe the Bramloader.

    I'm not using any routine of boot and for that reason the processor can't know where read and write data I think. Am I right?

    I want use only bram memory, what do I have to change in the rootin of boot? Is that routine compulsory for simple thing?


    Thank you very much for your attention

    Best regards


          Francesco E.


    Hi Francesco

    We have a simulation set up we have used internally for debugging and experiments.  Unfortunately we have never released it.  Since you have expressed interests I will work on putting together a release of a package to allow to use our set up.  This will take a few days to put together.  When we have it, I will find away to get it to you. 

    The environment includes some additional software that is freely available.  You already Modelsim but you will also require our system simulator, Microsoft Giano.  This is a free download at the this url:  http://research.microsoft.com/en-us/downloads/02e2edbf-c76c-47d5-b9c0-2c9915c63e98/default.aspx

    If there is anything you can think of that might help you in the meantime, please let me know.


    Hi RNPittman,

     thank you very much for you attention. I'll wait your package.

    In the meantime, I'm going to carry on with my tests. I think that probably I didn't understand clearly the functionality of memory_controller and/or some module inside memory_interface...

    Anyway, thank you very much for your patience  Smile

    Best regards



    Hi Neil,
     I'm so sorry for my delay but I got several problems   Sad   Sad   ....   moreover my laptop gave me problem...   Sad   Super Angry   Super Angry
    Anyway, I found a solution about the last question on simulation of eMIPS on ModelSim but I used another way.
    I didn't understand how memory_controller module works, but now I do it.

    I need to change the address range for the instructions and data.

    My next task is to compile a C program using gcc.  I looked some steps on your report and I'm going to follow it.

    Many thanks for your interesting

    I appreciate it so much

    Best regards



    Wednesday, June 22, 2011 4:47 PM