using non-linear lookup operation in VHDL -


I want to take a 4-bit input and define it as a 4-bit output by the replacement function . / P>

Output & lt; = Option (Input)

The replacement function can be implemented using a table table operation using large memory components

One of our co-developers needs Fast Hashing Function Based on this fact, we decide to implement a mechanism to improve the performance of modified whirlpool hashing functions.

Non-linear operations used in the hashing algorithm use parallel 4-bit non-linear operations, where input nabal (4-bit) is in any other non-linear 4-bit value Is mapped. All non-linear operations use only one byte input

Non-linear conversion that includes SBB1 and S-2 box, given as 16 values ​​of 4-bit input Goes and 16 values ​​of 4-bit output for each sbbox. The use of S-box-2 of 16-bit input (LSB) and S-Box-1 (MSB) is used in the issuance.

How do I apply a case / selection statement to do this? with here.

/ select . with statements, such as case statements work, but work in a concurrent logic outside of a process. case statements and if / elsif trees are generally used in sequential logic because they are only allowed within one process

You can create 16 4-bit std_logic_vectors and continuous array of indexes to get your 4-bit i value to your o value. It can be easier to read and understand, however it does not use the or case statement with any type of request that you requested. As a result of syntax formats, the result will be the same result.

The statement with will be synthesized in 4x 4-input LUT, when the interactivity output data must be assigned literally, note that your desired "non-linear mapping" To match, the output data (the left hand column of the litls) must be changed.

  library ieee; Use ieee.std_logic_1164.all; The example of the unit is the port (i: std_logic_vector (down to 3); o: out std_logic_vector (3 down from 0)); End example; When selecting "0001", "1110" when "0001", "1101" when "0001", "1101", "1100", "1100", "0011", "1011", "1011", the example architecture Behavior starts with I & lt; 0101 "," 1011 "when" 0101 "," 1001 "when" 0110 "," 1000 "," 0111 "," 0111 "when" 1000 "," 0110 "when" 1001 "," 0101 "when" 1010 " , "0100" when "1011", "0011" when "1100", "0010" when "1101", "0001" when "1110", "0000" then "1111", "XXXX" when other; end behavior;  

Comments

Popular posts from this blog

java - Can't add JTree to JPanel of a JInternalFrame -

javascript - data.match(var) not working it seems -

javascript - How can I pause a jQuery .each() loop, while waiting for user input? -