Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Implementing processor

  1. Mar 24, 2006 #1
    Please help me to understand what i am supposed to do...This memory linkage is not making sense to me..how can i do it..My assignment reads as

    Implement the instruction fetch and other instructions of the SDLX processor. Modify your design to suit the SDLX processor as done in the class.
    Assume that there are two separate memories, one for data and another one for program instructions. Also for simplicity assume that all memories will be accessed using 32-bit operations only. You may therefore implement the memory as a 2-d array of 32-bit memory locations. Index of this memory will be the (SDLX generated address modulo 4). We shall be using internal memories in the Xilinx FPGA for program. The data memory can be mapped to the external memory (see the Digilent documentation for the interface) to the internal memory.
    The internal memories are synchronous memories. They work on the clock edges. In order to meet the semantics of the processor, the falling edge of the clock can be used to feed the clock to the internal memories. The program memories will also need initialization that can be achieved using parameters for the memory declarations (see the documentation on the Xilinx Synthesis tool).
    Implement about 4KB (1Kx32) memory for the program. This will be the first time you will execute a real program.
    Build a small I/O interface in which a processor writes two 32-bit words at an address 0x2000 and 0x2004 using STL instructions. Only the least significant bytes of the value written to address 0x2000 is meaningful and it represents the bit pattern for the 7-segment LED displays (the actual a-b-c-d-e-f-g-dot values). Similarly, only the four least significant bits are meaningful in the value written to address 0x2004. These represent the AN0 to AN3 for the 7-segment LEDs.
    Map the internal memory at address 0000 and the external memory at address 0x4000. Simulate a button for the reset which when pressed, sets the value of the PC to 0000 and therefore the program starts executing from the beginning.
    Testing your design
    Try out your code with different programs. Each time you modify your program, you will need to change the parameters in your code and re-synthesize the circuit. Use instructions in the SDLX program to write values on 7-segment LEDs.
    While synthesizing this circuit, you will have to be careful as this becomes a large circuit and may overflow out of the FPGA space if your design is not good.
  2. jcsd
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Can you offer guidance or do you also need help?
Draft saved Draft deleted