Look-up table read
A digital data processor includes a multi-stage butterfly network, which is configured to, in response to a look up table read instruction, receive look up table data from an intermediate register, reorder the look up table data based on control signals comprising look up table configuration register data, and write the reordered look up table data to a destination register specified by the look up table read instruction.
1. A digital data processor, comprising:
a multi-stage butterfly network configured to, in response to a look up table read instruction:
receive look up table data from an intermediate register;
reorder the look up table data based on control signals comprising look up table configuration register data; and
write the reordered look up table data to a destination register specified by the look up table read instruction.
2. The digital data processor of claim 1 , wherein:
the configuration register data comprises a look up table data element size field specifying a size of each data element in a look up table; and
the look up table comprises one or more banks of the size specified by the look up table data element size field; and
the multi-stage butterfly network is further configured to, in response to the look up table read instruction, reorder the look up table data such that an indexed data element is aligned with a lowest bank of the look up table.
3. The digital data processor of claim 2 , wherein:
the configuration register data comprises an interpolation field specifying a number of adjacent data elements of a specified data size to be recalled from a look up table including an indexed data element specified by the look up table read instruction;
the look up table comprises one or more banks of the size specified by the look up table data element size field; and
the multi-stage butterfly network is further configured to, in response to the look up table read instruction, reorder the look up table data such that the indexed data element is aligned with a lowest bank of the look up table and the number of adjacent data elements to the indexed data element are aligned with one or more next-lowest banks of the look up table.
4. The digital data processor of claim 2 , wherein:
the configuration register data comprises a field specifying a number of look up tables of a table set;
each of the look up tables comprises one or more banks of the size specified by the look up table data element size field; and
the multi-stage butterfly network is further configured to, in response to the look up table read instruction, reorder the look up table data such that indexed data elements from each of the look up tables are sequentially aligned with a lowest group of banks.
5. The digital data processor of claim 4 , wherein:
the configuration register data comprises an interpolation field specifying a number of adjacent data elements of a specified data size to be recalled from each look up table including an indexed data element specified by the look up table read instruction; and
the multi-stage butterfly network is further configured to, in response to the look up table read instruction, reorder the look up table data such that, for each look up table, the indexed data element followed by the number of adjacent elements are sequentially aligned with a lowest group of banks.
6. The digital data processor of claim 5 , wherein the multi-stage butterfly network is further configured to, in response to the look up table read instruction:
reorder the look up table data such that, for a first look up table, the indexed data element followed by the number of adjacent elements are sequentially aligned with a lowest group of banks; and
reorder the look up table data such that, for a second look up table, the indexed data element followed by the number of adjacent elements are sequentially aligned with a next-lowest group of banks.