2013级集成电路EDA设计与实践
附录:整体代码
--sboxc.vhd library ieee;
use ieee.std_logic_1164.all; entity sboxc is port(
a :in std_logic_vector(1 to 48); couta:out std_logic_vector(1 to 32)); end sboxc;
architecture struct of sboxc is signal cout:std_logic_vector(1 to 32); signal a_s:std_logic_vector(1 to 48); begin a_s<=a; process(a)
variable i: std_logic_vector(1 to 48); begin
i(1 to 6):=a_s(1)&a_s(6)&a_s(2)&a_s(3)&a_s(4)&a_s(5); i(7 to 12):=a_s(7)&a_s(12)&a_s(8)&a_s(9)&a_s(10)&a_s(11); i(13 to 18):=a_s(13)&a_s(18)&a_s(14)&a_s(15)&a_s(16)&a_s(17); i(19 to 24):=a_s(19)&a_s(24)&a_s(20)&a_s(21)&a_s(22)&a_s(23); i(25 to 30):=a_s(25)&a_s(30)&a_s(26)&a_s(27)&a_s(28)&a_s(29); i(31 to 36):=a_s(31)&a_s(36)&a_s(32)&a_s(33)&a_s(34)&a_s(35); i(37 to 42):=a_s(37)&a_s(42)&a_s(38)&a_s(39)&a_s(40)&a_s(41); i(43 to 48):=a_s(43)&a_s(48)&a_s(44)&a_s(45)&a_s(46)&a_s(47); case i(1 to 6) is
when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \
31
2013级集成电路EDA设计与实践
when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \
when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \
when \ when \ when \ when \ when \ when \ when \ when \ when \
32
2013级集成电路EDA设计与实践
when \ when \ when \ when \ when \ when \ when \ when others => null; end case;
case i(7 to 12) is
when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \
when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \
33
2013级集成电路EDA设计与实践
when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \
when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when others => null; end case;
case i(13 to 18) is
when \ when \ when \ when \ when \
34
2013级集成电路EDA设计与实践
when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \
when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \
when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \
35