![]() |
|
|
|||||||
![]() |
VHDL - Transport Triggered Architecture Socket in VHDL |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
I'm trying to figure out the most efficient way of implementing a TTA socket in VHDL. I currently have a 24bit control word for each of the function units, it looks like this: DST sID SRC sID OPCODE |----------------------------------------------------| | 000000000 | 000000000 | 000000 | |----------------------------------------------------| | 23 - 15 | 14 - 6 | 5 - 0 | |----------------------------------------------------| The socket checks the control word coming along each of the 4 control buses (as there is 4 data buses) so see if the source or destination ID is its own and then lets the data on the appropriate bus and opcode into the function unit. My current implementation works in two stages, it firstly compares each of the control inputs (I0,I1,I2,I3) coming in on the control buses with the FUs sID , this will output a select for which bus you're taking in from (SO), an enable (EO) and the opcode (OP). The EO and SO go into a MUX or DEMUX depending on whether its an input or output socket which selects from/to the data bus. I have made this too complicated, when synthesizing it comes out for a Maximum combinatorial path delay of 7.988ns, which is way too expensive, especially when the point of TTA is to be simple and therefore fast. I'll really appreciate if anyone had any comments, suggestions, constructive criticism, maybe I'm even going about this completely wrong etc. Thanks in advance! - Colin lyonscf@gmail.com |
|
|
|
|
#2 |
|
Posts: n/a
|
I believe that TTA/Move is not particular FPGA friendly due to the
large/many internal busses. Here is my brief attempt to look at this fascinating processor architecture, if only I had more time.... http://www.ht-lab.com/freecores/move/move.html Hans www.ht-lab.com <> wrote in message news:1541c68a-6eb3-40ba-a290-... > > I'm trying to figure out the most efficient way of implementing a TTA > socket in VHDL. > > I currently have a 24bit control word for each of the function units, > it looks like this: > > DST sID SRC sID OPCODE > |----------------------------------------------------| > | 000000000 | 000000000 | 000000 | > |----------------------------------------------------| > | 23 - 15 | 14 - 6 | 5 - 0 | > |----------------------------------------------------| > > The socket checks the control word coming along each of the 4 control > buses (as there is 4 data buses) so see if the source or destination > ID is its own and then lets the data on the appropriate bus and opcode > into the function unit. > > My current implementation works in two stages, it firstly compares > each of the control inputs (I0,I1,I2,I3) coming in on the control > buses with the FUs sID , this will output a select for which bus > you're taking in from (SO), an enable (EO) and the opcode (OP). The EO > and SO go into a MUX or DEMUX depending on whether its an input or > output socket which selects from/to the data bus. > > I have made this too complicated, when synthesizing it comes out for a > Maximum combinatorial path delay of 7.988ns, which is way too > expensive, especially when the point of TTA is to be simple and > therefore fast. > > I'll really appreciate if anyone had any comments, suggestions, > constructive criticism, maybe I'm even going about this completely > wrong etc. > > Thanks in advance! > > - Colin HT-Lab |
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Socket Error and virtual memory Question | BigDummy | General Help Related Topics | 1 | 10-12-2006 02:33 PM |
| Zalman CNPS9500-AM2 Socket AM2 Low Noise Heatsink Review | Silverstrand | Front Page News | 0 | 05-26-2006 01:13 PM |
| AMD Socket AM2 Motherboards Special | Silverstrand | Front Page News | 0 | 05-26-2006 01:06 PM |
| Inside AMD64 Architecture | Silverstrand | Front Page News | 0 | 05-17-2006 01:38 PM |
| Scart socket on DVD player | Ray | DVD Video | 1 | 10-04-2003 12:02 PM |