📄 serialparallel.vhd
字号:
---------------------------------------------------------------------------------- Company: -- Engineer:---- Create Date: 19:58:28 03/17/08-- Design Name: -- Module Name: serialparallel - Behavioral-- Project Name: -- Target Device: -- Tool versions: -- Description:---- Dependencies:-- -- Revision:-- Revision 0.01 - File Created-- Additional Comments:-- --------------------------------------------------------------------------------library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;---- Uncomment the following library declaration if instantiating---- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;entity serialparallel is port( clock:in std_logic; reset:in std_logic; d_in:in std_logic_vector(7 downto 0); en_in:in std_logic; en_out:in std_logic;--输出 -- d1:out std_logic_vector(135 downto 0); dout:out std_logic_vector(7 downto 0) );end serialparallel;architecture Behavioral of serialparallel issignal d:std_logic_vector(0 to 135);signal sel_out:integer range 20 downto 0 ;beginprocess(clock,reset) variable tmp:std_logic_vector(0 to 7); begin if(reset='1') then d<=(others=>'0'); dout<=(others=>'0'); sel_out<=0; elsif(clock'event and clock='1') then if(en_in='1' and en_out='0') thentmp(0):=d(0) xor d_in(0);tmp(1):=d(1) xor d(0) xor d_in(0) xor d_in(1);tmp(2):=d(2) xor d(1) xor d(0) xor d_in(0) xor d_in(1) xor d_in(2);tmp(3):=d(3) xor d(2) xor d(1) xor d(0) xor d_in(0) xor d_in(1) xor d_in(2) xor d_in(3);tmp(4):=d(4) xor d(0) xor d_in(0) xor d(3) xor d(2) xor d(1) xor d(0) xor d_in(0) xor d_in(1) xor d_in(2) xor d_in(3) xor d_in(4);tmp(5):=d(5) xor d(1) xor d(0) xor d_in(0) xor d_in(1) xor d(4) xor d(0) xor d_in(0) xor d(3) xor d(2) xor d(1) xor d(0) xor d_in(0) xor d_in(1) xor d_in(2) xor d_in(3) xor d_in(4) xor d_in(5);tmp(6):=d(6) xor d(0) xor d_in(0) xor d(2) xor d(1) xor d(0) xor d_in(0) xor d_in(1) xor d_in(2) xor d(5) xor d(1) xor d(0) xor d_in(0) xor d_in(1) xor d(4) xor d(0) xor d_in(0) xor d(3) xor d(2) xor d(1) xor d(0) xor d_in(0) xor d_in(1) xor d_in(2) xor d_in(3) xor d_in(4) xor d_in(5) xor d_in(6);tmp(7):=d(7) xor d(0) xor d_in(0) xor d(1) xor d(0) xor d_in(0) xor d_in(1) xor d(3) xor d(2) xor d(1) xor d(0) xor d_in(0) xor d_in(1) xor d_in(2) xor d_in(3) xor d(6) xor d(0) xor d_in(0) xor d(2) xor d(1) xor d(0) xor d_in(0) xor d_in(1) xor d_in(2) xor d(5) xor d(1) xor d(0) xor d_in(0) xor d_in(1) xor d(4) xor d(0) xor d_in(0) xor d(3) xor d(2) xor d(1) xor d(0) xor d_in(0) xor d_in(1) xor d_in(2) xor d_in(3) xor d_in(4) xor d_in(5) xor d_in(6) xor d_in(7); d(0)<=tmp(7) xor tmp(4) xor tmp(2) xor tmp(1) xor d(8);d(1)<=tmp(5) xor tmp(3) xor tmp(2) xor tmp(0) xor d(9);d(2)<=tmp(6) xor tmp(4) xor tmp(3) xor tmp(1) xor d(10);d(3)<=tmp(7) xor tmp(5) xor tmp(4) xor tmp(2) xor d(11);d(4)<=tmp(6) xor tmp(5) xor tmp(3) xor tmp(0) xor d(12);d(5)<=tmp(7) xor tmp(6) xor tmp(4) xor tmp(1) xor d(13);d(6)<=tmp(7) xor tmp(5) xor tmp(2) xor d(14);d(7)<=tmp(6) xor tmp(3) xor tmp(0) xor d(15);d(8)<=tmp(7) xor tmp(4) xor tmp(1) xor tmp(0) xor d(16);d(9)<=tmp(5) xor tmp(2) xor tmp(1) xor tmp(0) xor d(17);d(10)<=tmp(6) xor tmp(3) xor tmp(2) xor tmp(1) xor d(18);d(11)<=tmp(7) xor tmp(4) xor tmp(3) xor tmp(2) xor tmp(0) xor d(19);d(12)<=tmp(5) xor tmp(4) xor tmp(3) xor tmp(1) xor tmp(0) xor d(20);d(13)<=tmp(6) xor tmp(5) xor tmp(4) xor tmp(2) xor tmp(1) xor tmp(0) xor d(21);d(14)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(3) xor tmp(2) xor tmp(1) xor tmp(0) xor d(22);d(15)<=tmp(7) xor tmp(6) xor tmp(4) xor tmp(3) xor tmp(2) xor tmp(1) xor d(23);d(16)<=tmp(7) xor tmp(5) xor tmp(4) xor tmp(3) xor tmp(2) xor d(24);d(17)<=tmp(6) xor tmp(5) xor tmp(4) xor tmp(3) xor d(25);d(18)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(4) xor d(26);d(19)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(0) xor d(27);d(20)<=tmp(7) xor tmp(6) xor tmp(1) xor tmp(0) xor d(28);d(21)<=tmp(7) xor tmp(2) xor tmp(1) xor d(29);d(22)<=tmp(3) xor tmp(2) xor tmp(0) xor d(30);d(23)<=tmp(4) xor tmp(3) xor tmp(1) xor d(31);d(24)<=tmp(5) xor tmp(4) xor tmp(2) xor d(32);d(25)<=tmp(6) xor tmp(5) xor tmp(3) xor tmp(0) xor d(33);d(26)<=tmp(7) xor tmp(6) xor tmp(4) xor tmp(1) xor d(34);d(27)<=tmp(7) xor tmp(5) xor tmp(2) xor tmp(0) xor d(35);d(28)<=tmp(6) xor tmp(3) xor tmp(1) xor d(36);d(29)<=tmp(7) xor tmp(4) xor tmp(2) xor d(37);d(30)<=tmp(5) xor tmp(3) xor d(38);d(31)<=tmp(6) xor tmp(4) xor d(39);d(32)<=tmp(7) xor tmp(5) xor tmp(0) xor d(40);d(33)<=tmp(6) xor tmp(1) xor tmp(0) xor d(41);d(34)<=tmp(7) xor tmp(2) xor tmp(1) xor tmp(0) xor d(42);d(35)<=tmp(3) xor tmp(2) xor tmp(1) xor tmp(0) xor d(43);d(36)<=tmp(4) xor tmp(3) xor tmp(2) xor tmp(1) xor tmp(0) xor d(44);d(37)<=tmp(5) xor tmp(4) xor tmp(3) xor tmp(2) xor tmp(1) xor d(45);d(38)<=tmp(6) xor tmp(5) xor tmp(4) xor tmp(3) xor tmp(2) xor d(46);d(39)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(4) xor tmp(3) xor tmp(0) xor d(47);d(40)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(4) xor tmp(1) xor d(48);d(41)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(2) xor d(49);d(42)<=tmp(7) xor tmp(6) xor tmp(3) xor tmp(0) xor d(50);d(43)<=tmp(7) xor tmp(4) xor tmp(1) xor tmp(0) xor d(51);d(44)<=tmp(5) xor tmp(2) xor tmp(1) xor d(52);d(45)<=tmp(6) xor tmp(3) xor tmp(2) xor tmp(0) xor d(53);d(46)<=tmp(7) xor tmp(4) xor tmp(3) xor tmp(1) xor d(54);d(47)<=tmp(5) xor tmp(4) xor tmp(2) xor d(55);d(48)<=tmp(6) xor tmp(5) xor tmp(3) xor d(56);d(49)<=tmp(7) xor tmp(6) xor tmp(4) xor tmp(0) xor d(57);d(50)<=tmp(7) xor tmp(5) xor tmp(1) xor d(58);d(51)<=tmp(6) xor tmp(2) xor d(59);d(52)<=tmp(7) xor tmp(3) xor tmp(0) xor d(60);d(53)<=tmp(4) xor tmp(1) xor d(61);d(54)<=tmp(5) xor tmp(2) xor d(62);d(55)<=tmp(6) xor tmp(3) xor tmp(0) xor d(63);d(56)<=tmp(7) xor tmp(4) xor tmp(1) xor tmp(0) xor d(64);d(57)<=tmp(5) xor tmp(2) xor tmp(1) xor tmp(0) xor d(65);d(58)<=tmp(6) xor tmp(3) xor tmp(2) xor tmp(1) xor d(66);d(59)<=tmp(7) xor tmp(4) xor tmp(3) xor tmp(2) xor tmp(0) xor d(67);d(60)<=tmp(5) xor tmp(4) xor tmp(3) xor tmp(1) xor tmp(0) xor d(68);d(61)<=tmp(6) xor tmp(5) xor tmp(4) xor tmp(2) xor tmp(1) xor d(69);d(62)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(3) xor tmp(2) xor tmp(0) xor d(70);d(63)<=tmp(7) xor tmp(6) xor tmp(4) xor tmp(3) xor tmp(1) xor tmp(0) xor d(71);d(64)<=tmp(7) xor tmp(5) xor tmp(4) xor tmp(2) xor tmp(1) xor tmp(0) xor d(72);d(65)<=tmp(6) xor tmp(5) xor tmp(3) xor tmp(2) xor tmp(1) xor tmp(0) xor d(73);d(66)<=tmp(7) xor tmp(6) xor tmp(4) xor tmp(3) xor tmp(2) xor tmp(1) xor d(74);d(67)<=tmp(7) xor tmp(5) xor tmp(4) xor tmp(3) xor tmp(2) xor d(75);d(68)<=tmp(6) xor tmp(5) xor tmp(4) xor tmp(3) xor d(76);d(69)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(4) xor d(77);d(70)<=tmp(7) xor tmp(6) xor tmp(5) xor d(78);d(71)<=tmp(7) xor tmp(6) xor tmp(0) xor d(79);d(72)<=tmp(7) xor tmp(1) xor d(80);d(73)<=tmp(2) xor tmp(0) xor d(81);d(74)<=tmp(3) xor tmp(1) xor d(82);d(75)<=tmp(4) xor tmp(2) xor tmp(0) xor d(83);d(76)<=tmp(5) xor tmp(3) xor tmp(1) xor d(84);d(77)<=tmp(6) xor tmp(4) xor tmp(2) xor tmp(0) xor d(85);d(78)<=tmp(7) xor tmp(5) xor tmp(3) xor tmp(1) xor tmp(0) xor d(86);d(79)<=tmp(6) xor tmp(4) xor tmp(2) xor tmp(1) xor d(87);d(80)<=tmp(7) xor tmp(5) xor tmp(3) xor tmp(2) xor d(88);d(81)<=tmp(6) xor tmp(4) xor tmp(3) xor d(89);d(82)<=tmp(7) xor tmp(5) xor tmp(4) xor d(90);d(83)<=tmp(6) xor tmp(5) xor d(91);d(84)<=tmp(7) xor tmp(6) xor d(92);d(85)<=tmp(7) xor d(93);d(86)<=tmp(0) xor d(94);d(87)<=tmp(1) xor d(95);d(88)<=tmp(2) xor tmp(0) xor d(96);d(89)<=tmp(3) xor tmp(1) xor d(97);d(90)<=tmp(4) xor tmp(2) xor tmp(0) xor d(98);d(91)<=tmp(5) xor tmp(3) xor tmp(1) xor d(99);d(92)<=tmp(6) xor tmp(4) xor tmp(2) xor tmp(0) xor d(100);d(93)<=tmp(7) xor tmp(5) xor tmp(3) xor tmp(1) xor tmp(0) xor d(101);d(94)<=tmp(6) xor tmp(4) xor tmp(2) xor tmp(1) xor tmp(0) xor d(102);d(95)<=tmp(7) xor tmp(5) xor tmp(3) xor tmp(2) xor tmp(1) xor tmp(0) xor d(103);d(96)<=tmp(6) xor tmp(4) xor tmp(3) xor tmp(2) xor tmp(1) xor tmp(0) xor d(104);d(97)<=tmp(7) xor tmp(5) xor tmp(4) xor tmp(3) xor tmp(2) xor tmp(1) xor tmp(0) xor d(105);d(98)<=tmp(6) xor tmp(5) xor tmp(4) xor tmp(3) xor tmp(2) xor tmp(1) xor d(106);d(99)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(4) xor tmp(3) xor tmp(2) xor d(107);d(100)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(4) xor tmp(3) xor d(108);d(101)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(4) xor d(109);d(102)<=tmp(7) xor tmp(6) xor tmp(5) xor d(110);d(103)<=tmp(7) xor tmp(6) xor tmp(0) xor d(111);d(104)<=tmp(7) xor tmp(1) xor d(112);d(105)<=tmp(2) xor tmp(0) xor d(113);d(106)<=tmp(3) xor tmp(1) xor tmp(0) xor d(114);d(107)<=tmp(4) xor tmp(2) xor tmp(1) xor d(115);d(108)<=tmp(5) xor tmp(3) xor tmp(2) xor d(116);d(109)<=tmp(6) xor tmp(4) xor tmp(3) xor tmp(0) xor d(117);d(110)<=tmp(7) xor tmp(5) xor tmp(4) xor tmp(1) xor tmp(0) xor d(118);d(111)<=tmp(6) xor tmp(5) xor tmp(2) xor tmp(1) xor d(119);d(112)<=tmp(7) xor tmp(6) xor tmp(3) xor tmp(2) xor tmp(0) xor d(120);d(113)<=tmp(7) xor tmp(4) xor tmp(3) xor tmp(1) xor tmp(0) xor d(121);d(114)<=tmp(5) xor tmp(4) xor tmp(2) xor tmp(1) xor tmp(0) xor d(122);d(115)<=tmp(6) xor tmp(5) xor tmp(3) xor tmp(2) xor tmp(1) xor tmp(0) xor d(123);d(116)<=tmp(7) xor tmp(6) xor tmp(4) xor tmp(3) xor tmp(2) xor tmp(1) xor tmp(0) xor d(124);d(117)<=tmp(7) xor tmp(5) xor tmp(4) xor tmp(3) xor tmp(2) xor tmp(1) xor d(125);d(118)<=tmp(6) xor tmp(5) xor tmp(4) xor tmp(3) xor tmp(2) xor d(126);d(119)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(4) xor tmp(3) xor tmp(0) xor d(127);d(120)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(4) xor tmp(1) xor d(128);d(121)<=tmp(7) xor tmp(6) xor tmp(5) xor tmp(2) xor d(129);d(122)<=tmp(7) xor tmp(6) xor tmp(3) xor tmp(0);d(123)<=tmp(7) xor tmp(4) xor tmp(1);d(124)<=tmp(5) xor tmp(2);d(125)<=tmp(6) xor tmp(3);d(126)<=tmp(7) xor tmp(4);d(127)<=tmp(5);d(128)<=tmp(6);d(129)<=tmp(7);d(130 to 135)<="000000"; elsif(en_out='1' and en_in='0') then case sel_out is when 16=>dout(7 downto 0)<=d(128 to 135); sel_out<=0;d<=(others=>'0'); when 15=>dout(7 downto 0)<=d(120 to 127); sel_out<=sel_out+1; when 14=>dout(7 downto 0)<=d(112 to 119); sel_out<=sel_out+1; when 13=>dout(7 downto 0)<=d(104 to 111); sel_out<=sel_out+1; when 12=>dout(7 downto 0)<=d(96 to 103); sel_out<=sel_out+1; when 11=>dout(7 downto 0)<=d(88 to 95); sel_out<=sel_out+1; when 10=>dout(7 downto 0)<=d(80 to 87); sel_out<=sel_out+1; when 9=>dout(7 downto 0)<=d(72 to 79); sel_out<=sel_out+1; when 8=>dout(7 downto 0)<=d(64 to 71); sel_out<=sel_out+1; when 7=>dout(7 downto 0)<=d(56 to 63); sel_out<=sel_out+1; when 6=>dout(7 downto 0)<=d(48 to 55); sel_out<=sel_out+1; when 5=>dout(7 downto 0)<=d(40 to 47); sel_out<=sel_out+1; when 4=>dout(7 downto 0)<=d(32 to 39); sel_out<=sel_out+1; when 3=>dout(7 downto 0)<=d(24 to 31); sel_out<=sel_out+1; when 2=>dout(7 downto 0)<=d(16 to 23); sel_out<=sel_out+1; when 1=>dout(7 downto 0)<=d(8 to 15); sel_out<=sel_out+1; when 0=>dout(7 downto 0)<=d(0 to 7); sel_out<=sel_out+1; when others=>dout<=(others=>'-'); end case; end if;end if;end process;end Behavioral;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -