// // SoC P35 Exercise 2 2012/13 // Points arising: You may wish to compare the performance of your answers to Exercises 1 and 2 by looping the testbench 10^7 times and using the unix 'time' command or otherwise. I have added the low-level C code option point 2 in the exercise. We may go on to explore point 2 to compare relative power consumption. -------------------------------- // // SoC P35 Exercise 2 2012/13 // // Please do the following 1. Create another version of PERIPHERAL_DEVICE which is a coded as a transactional modelling `target'. You may use the TLM-1 style coding and generic payload from the TOY-ESL classes or you may use the TLM 2.0 library, as used in the OpenRISC btlm reference design. Note: you do not need to include any timing or power annotations. 2. Write short notes about how processor cores on a single piece of silicon might exchange data using message-passing channels rather than using a cache-consistent shared memory. Concentrate on how the software interfaces to the hardware, rather than on the details of any on-chip-network. Please include at least one of the following: a programmers' model specification, some example assembly language code that sends and receives a message (or low-level C code that uses casts of volatile pointers), a basic RTL implementation, a basic TLM-style implementation. Note: You may wish to use real examples (such as TILE64, XMOS or elsewhere) or just make up a basic design of your own. Data messages might typically contain 16 bytes. 3. Optionally, create a Transactor that, when combined with your answer from Exercise 1 gives something that offers the same TLM interface as your answer to part 1 of Exercise 2. In fact, you might wish to do this step first. The Transactor should be a SystemC module. As before, include your source code and examples outputs in your report. Note: the listed deadline for this exercise was originally Friday 8th but feel free to give in any time before 10:30 am on Monday 11th. 1. http://en.wikipedia.org/wiki/TILE64 2. http://en.wikipedia.org/wiki/XMOS