⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serialparallel.vhd

📁 bch 编码和译码
💻 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 + -