📄 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;
in0:in std_logic;
in1:in std_logic;
in2:in std_logic;
in3:in std_logic;
in4:in std_logic;
in5:in std_logic;
in6:in std_logic;
in7:in std_logic;
en:in std_logic;
-- read_write:in std_logic; ----read_write='1'为读fifo,read_write='0'为写fifo
-- dout:out std_logic_vector(0 to 135)
dout0:out std_logic;
dout1:out std_logic;
dout2:out std_logic;
dout3:out std_logic;
dout4:out std_logic;
dout5:out std_logic;
dout6:out std_logic;
dout7:out std_logic;
);
end serialparallel;
architecture Behavioral of serialparallel is
signal d:std_logic_vector(0 to 135);
begin
process(clock,reset)
variable tmp:std_logic_vector(0 to 7);
begin
if(reset='1') then
d<=(others=>'0');
elsif(clock'event and clock='1' and en='1') then
tmp(0):=d(0) xor in0;
tmp(1):=d(1) xor d(0) xor in0 xor in1;
tmp(2):=d(2) xor d(1) xor d(0) xor in0 xor in1 xor in2;
tmp(3):=d(3) xor d(2) xor d(1) xor d(0) xor in0 xor in1 xor in2 xor in3;
tmp(4):=d(4) xor d(0) xor in0 xor d(3) xor d(2) xor d(1) xor d(0) xor in0 xor in1 xor in2 xor in3 xor in4;
tmp(5):=d(5) xor d(1) xor d(0) xor in0 xor in1 xor d(4) xor d(0) xor in0 xor d(3) xor d(2) xor d(1) xor d(0) xor in0 xor in1 xor in2 xor in3 xor in4 xor in5;
tmp(6):=d(6) xor d(0) xor in0 xor d(2) xor d(1) xor d(0) xor in0 xor in1 xor in2 xor d(5) xor d(1) xor d(0) xor in0 xor in1 xor d(4) xor d(0) xor in0 xor d(3) xor d(2) xor d(1) xor d(0) xor in0 xor in1 xor in2 xor in3 xor in4 xor in5 xor in6;
tmp(7):=d(7) xor d(0) xor in0 xor d(1) xor d(0) xor in0 xor in1 xor d(3) xor d(2) xor d(1) xor d(0) xor in0 xor in1 xor in2 xor in3 xor d(6) xor d(0) xor in0 xor d(2) xor d(1) xor d(0) xor in0 xor in1 xor in2 xor d(5) xor d(1) xor d(0) xor in0 xor in1 xor d(4) xor d(0) xor in0 xor d(3) xor d(2) xor d(1) xor d(0) xor in0 xor in1 xor in2 xor in3 xor in4 xor in5 xor in6 xor in7;
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";------
end if;
end process;
--process(clock,reset)
--begin
-- if(reset='1') then
-- d<=(others=>'0');
-- elsif(clock'event and clock='1' and read_write='0') then
end Behavioral;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -