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
Post a Comment