![]() |
|
|
|
#1 |
|
Hi
I just wonder what is a proper way to implement lookup tables in VHDL? I was thinking of using a Register. The thing is that I have 4 32 bit input values. So each output bit is determined by the corresponding 4 single input bits which could be mapped than to 16 potentital values. As I have 32 bit input values I would need a register that is 32*16 times big so that I could make the look up tables in parallel is that right? Cheers! Mike |
|
|
|
|
#2 |
|
Posts: n/a
|
On Nov 29, 8:01 am, Mike <M...@yahoo.co.uk> wrote:
> Hi > > I just wonder what is a proper way to implement lookup tables in VHDL? > I was thinking of using a Register. The thing is that I have 4 32 bit > input values. So each output bit is determined by the corresponding 4 > single input bits which could be mapped than to 16 potentital values. > As I have 32 bit input values I would need a register that is 32*16 > times big so that I could make the look up tables in parallel is that > right? > > Cheers! So you would need 32 sixteen-entry constant arrays. Index each array with the 4 input bits. VHDL constants can be initialized discretely, or with a function call, if that helps. Depending on surrounding registers, etc. they can be implemented as distributed rams(roms), or combined as a block ram(rom). Andy Andy Andy |
|
|
|
#3 |
|
Posts: n/a
|
> So you would need 32 sixteen-entry constant arrays. Index each array > with the 4 input bits. > > VHDL constants can be initialized discretely, or with a function call, > if that helps. Depending on surrounding registers, etc. they can be > implemented as distributed rams(roms), or combined as a block > ram(rom). Thanks for your comment. But all this lookup table have the same content, so I could just use one lookup table and then multiplexors to get the right values out of the array? Mike |
|
|
|
#4 |
|
Posts: n/a
|
On Nov 29, 8:55 am, Mike <M...@yahoo.co.uk> wrote:
> > So you would need 32 sixteen-entry constant arrays. Index each array > > with the 4 input bits. > > > VHDL constants can be initialized discretely, or with a function call, > > if that helps. Depending on surrounding registers, etc. they can be > > implemented as distributed rams(roms), or combined as a block > > ram(rom). > > Thanks for your comment. But all this lookup table have the same > content, so I could just use one lookup table and then multiplexors to > get the right values out of the array? Depends on whether you need to use the table for more than one value simultaneously. If not, then yes, a multiplexer would work. If it is used simultaneously, the synthesis tool should figure it out and make multiple copies. Andy Andy |
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Look-up tables Sine-Cosine | rony | Software | 0 | 06-16-2009 09:04 AM |
| *$600 FREE At FULL-TILT POKER, Sign-Up with no C.C. to play on our free tables 24-7! | bigpokerjackpotsonlyatpartypoker | DVD Video | 0 | 01-07-2006 05:00 AM |
| multidisc player that does internet lookup? | cowboy | DVD Video | 0 | 11-27-2004 04:56 AM |
| Fruit Machines Pool Tables Arcade Video's 2 | news1@bellfruits.com | A+ Certification | 0 | 07-01-2003 05:40 AM |