Steam-powered Turing Machine University of Washington Computer Science & Engineering
 CSE 378 Fall 2006
  CSE Home     CSE 378 Fall 2006  About Us    Search    Contact Info 

 Home
Administrative
 Syllabus
 Office Hours
 Mailing List
Assignments
 Reading
 Homework
 Labs
 Exams
Resources
 Lecture Slides
 Handouts
 Wiki
 MIPS Resources
 AHDL Resources
Anonymous Feedback
 Feedback Form
   

Reprogramming Block RAMs

  1. Generate the .bit file for the processor using the modified board.ucf with placements for each of the block RAMs. Be sure that you are using the correct board.ucf for the processor version that you are constructing or the place and route process might not be able to complete correctly.

  2. Make sure that you have cached.bmm available. This contains the mapping of address spaces to the block rams on the board. The standard MIPS memory ranges are used in naming the address spaces. You can only overwrite the block RAMs, the BIOS is fixed.

    IRAM: 0x00400000 - 0x00407fff
    DRAM: 0x10000000 - 0x10007fff
    Stack: 0x7fff0000 - 0x7fff7fff

  3. Create a .mem file with the data that should be written to the RAMs along with the locations for that data. The .mem file is a text file that contains the location to write to, followed by a string of hex characters indicating the data that should be written to that location. For example, to write the word 0x0D2C5411 to memory location 0x10000000, the .mem file would contain the following:

    @10000000 0D2C5411

    You can also initialize entire blocks of memory at a time by adding more words after the first one. These words will be put into consecutive addresses in memory. For example:

    @10000000 0D2C5411 0EA23BD2 09AC4533

    This string will initialize the memory locations 0x10000000, 0x10000004, and 0x10000008 to 0D2C5411,0EA23BD2, and 09AC4533 respectively.

  4. Run "data2mem -bm cached.bmm -bd 'your mem file' -bt 'your bit file' -o b 'new bit file'"

  5. Use Impact to transfer the new bitfile onto the board.

  6. If you transferred a program onto the board, you can get out of the BIOS using a manual send with the command code 02.
Notes:
  1. If you wish to check the contents of memory on an existing .bit file, use the following command: "data2mem -bm cached.bmm -bt 'your bit file' -d > 'text file for dump'". You can search this file for phrases like "IRAM0" to find out what is in each individual RAM.


CSE logo Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to Course Staff]