?? pkg_prbs.vhd
字號:
oprbs(24) := i(23) xor i(24);
oprbs(25) := i(24) xor i(25);
oprbs(26) := i(25) xor i(26);
oprbs(27) := i(26) xor i(27);
oprbs(28) := i(27) xor i(28);
oprbs(29) := i(28) xor i(29);
oprbs(30) := i(29) xor i(30);
oprbs(31) := i(30) xor i(31);
oprbs(32) := i(31) xor i(32);
oprbs(33) := i(32) xor i(33);
oprbs(34) := i(33) xor i(34);
oprbs(35) := i(34) xor i(35);
oprbs(36) := i(35) xor i(36);
oprbs(37) := i(36) xor i(37);
oprbs(38) := i(37) xor i(38);
oprbs(39) := i(38) xor i(39);
oprbs(40) := i(39) xor i(40);
oprbs(41) := i(40) xor i(41);
oprbs(42) := i(41) xor i(42);
oprbs(43) := i(42) xor i(43);
oprbs(44) := i(43) xor i(44);
oprbs(45) := i(44) xor i(45);
oprbs(46) := i(45) xor i(46);
oprbs(47) := i(46) xor i(47);
oprbs(48) := i(47) xor i(48);
oprbs(49) := i(48) xor i(49);
oprbs(50) := i(49) xor i(50);
oprbs(51) := i(50) xor i(51);
oprbs(52) := i(51) xor i(52);
oprbs(53) := i(52) xor i(53);
oprbs(54) := i(53) xor i(54);
oprbs(55) := i(54) xor i(55);
oprbs(56) := i(55) xor i(56);
oprbs(57) := i(56) xor i(57);
oprbs(58) := i(57) xor i(58);
oprbs(59) := i(58) xor i(59);
return oprbs;
end;
-------------------------------------
-- Parallel PRBS for width: 64
-- c64 c4 c3 c1
-------------------------------------
function prbs64( i : std_logic_vector )
return std_logic_vector is
constant w : integer := i'length;
variable oprbs : std_logic_vector(w-1 downto 0);
begin
oprbs(0) := i(0) xor i(60) xor i(61) xor i(63);
oprbs(1) := i(0) xor i(1) xor i(60) xor i(62) xor i(63);
oprbs(2) := i(1) xor i(2) xor i(61) xor i(63);
oprbs(3) := i(0) xor i(2) xor i(3) xor i(60) xor i(61) xor i(62) xor i(63);
oprbs(4) := i(0) xor i(1) xor i(3) xor i(4) xor i(60) xor i(62);
oprbs(5) := i(1) xor i(2) xor i(4) xor i(5) xor i(61) xor i(63);
oprbs(6) := i(2) xor i(3) xor i(5) xor i(6) xor i(62);
oprbs(7) := i(3) xor i(4) xor i(6) xor i(7) xor i(63);
oprbs(8) := i(4) xor i(5) xor i(7) xor i(8);
oprbs(9) := i(5) xor i(6) xor i(8) xor i(9);
oprbs(10) := i(6) xor i(7) xor i(9) xor i(10);
oprbs(11) := i(7) xor i(8) xor i(10) xor i(11);
oprbs(12) := i(8) xor i(9) xor i(11) xor i(12);
oprbs(13) := i(9) xor i(10) xor i(12) xor i(13);
oprbs(14) := i(10) xor i(11) xor i(13) xor i(14);
oprbs(15) := i(11) xor i(12) xor i(14) xor i(15);
oprbs(16) := i(12) xor i(13) xor i(15) xor i(16);
oprbs(17) := i(13) xor i(14) xor i(16) xor i(17);
oprbs(18) := i(14) xor i(15) xor i(17) xor i(18);
oprbs(19) := i(15) xor i(16) xor i(18) xor i(19);
oprbs(20) := i(16) xor i(17) xor i(19) xor i(20);
oprbs(21) := i(17) xor i(18) xor i(20) xor i(21);
oprbs(22) := i(18) xor i(19) xor i(21) xor i(22);
oprbs(23) := i(19) xor i(20) xor i(22) xor i(23);
oprbs(24) := i(20) xor i(21) xor i(23) xor i(24);
oprbs(25) := i(21) xor i(22) xor i(24) xor i(25);
oprbs(26) := i(22) xor i(23) xor i(25) xor i(26);
oprbs(27) := i(23) xor i(24) xor i(26) xor i(27);
oprbs(28) := i(24) xor i(25) xor i(27) xor i(28);
oprbs(29) := i(25) xor i(26) xor i(28) xor i(29);
oprbs(30) := i(26) xor i(27) xor i(29) xor i(30);
oprbs(31) := i(27) xor i(28) xor i(30) xor i(31);
oprbs(32) := i(28) xor i(29) xor i(31) xor i(32);
oprbs(33) := i(29) xor i(30) xor i(32) xor i(33);
oprbs(34) := i(30) xor i(31) xor i(33) xor i(34);
oprbs(35) := i(31) xor i(32) xor i(34) xor i(35);
oprbs(36) := i(32) xor i(33) xor i(35) xor i(36);
oprbs(37) := i(33) xor i(34) xor i(36) xor i(37);
oprbs(38) := i(34) xor i(35) xor i(37) xor i(38);
oprbs(39) := i(35) xor i(36) xor i(38) xor i(39);
oprbs(40) := i(36) xor i(37) xor i(39) xor i(40);
oprbs(41) := i(37) xor i(38) xor i(40) xor i(41);
oprbs(42) := i(38) xor i(39) xor i(41) xor i(42);
oprbs(43) := i(39) xor i(40) xor i(42) xor i(43);
oprbs(44) := i(40) xor i(41) xor i(43) xor i(44);
oprbs(45) := i(41) xor i(42) xor i(44) xor i(45);
oprbs(46) := i(42) xor i(43) xor i(45) xor i(46);
oprbs(47) := i(43) xor i(44) xor i(46) xor i(47);
oprbs(48) := i(44) xor i(45) xor i(47) xor i(48);
oprbs(49) := i(45) xor i(46) xor i(48) xor i(49);
oprbs(50) := i(46) xor i(47) xor i(49) xor i(50);
oprbs(51) := i(47) xor i(48) xor i(50) xor i(51);
oprbs(52) := i(48) xor i(49) xor i(51) xor i(52);
oprbs(53) := i(49) xor i(50) xor i(52) xor i(53);
oprbs(54) := i(50) xor i(51) xor i(53) xor i(54);
oprbs(55) := i(51) xor i(52) xor i(54) xor i(55);
oprbs(56) := i(52) xor i(53) xor i(55) xor i(56);
oprbs(57) := i(53) xor i(54) xor i(56) xor i(57);
oprbs(58) := i(54) xor i(55) xor i(57) xor i(58);
oprbs(59) := i(55) xor i(56) xor i(58) xor i(59);
oprbs(60) := i(56) xor i(57) xor i(59) xor i(60);
oprbs(61) := i(57) xor i(58) xor i(60) xor i(61);
oprbs(62) := i(58) xor i(59) xor i(61) xor i(62);
oprbs(63) := i(59) xor i(60) xor i(62) xor i(63);
return oprbs;
end;
-------------------------------------
-- Parallel PRBS for width: 128
-- c128 c29 c27 c2
-------------------------------------
function prbs128( i : std_logic_vector )
return std_logic_vector is
constant w : integer := i'length;
variable oprbs : std_logic_vector(w-1 downto 0);
begin
oprbs(0) := i(0) xor i(99) xor i(101) xor i(126);
oprbs(1) := i(1) xor i(100) xor i(102) xor i(127);
oprbs(2) := i(0) xor i(2) xor i(99) xor i(103) xor i(126);
oprbs(3) := i(1) xor i(3) xor i(100) xor i(104) xor i(127);
oprbs(4) := i(2) xor i(4) xor i(101) xor i(105);
oprbs(5) := i(3) xor i(5) xor i(102) xor i(106);
oprbs(6) := i(4) xor i(6) xor i(103) xor i(107);
oprbs(7) := i(5) xor i(7) xor i(104) xor i(108);
oprbs(8) := i(6) xor i(8) xor i(105) xor i(109);
oprbs(9) := i(7) xor i(9) xor i(106) xor i(110);
oprbs(10) := i(8) xor i(10) xor i(107) xor i(111);
oprbs(11) := i(9) xor i(11) xor i(108) xor i(112);
oprbs(12) := i(10) xor i(12) xor i(109) xor i(113);
oprbs(13) := i(11) xor i(13) xor i(110) xor i(114);
oprbs(14) := i(12) xor i(14) xor i(111) xor i(115);
oprbs(15) := i(13) xor i(15) xor i(112) xor i(116);
oprbs(16) := i(14) xor i(16) xor i(113) xor i(117);
oprbs(17) := i(15) xor i(17) xor i(114) xor i(118);
oprbs(18) := i(16) xor i(18) xor i(115) xor i(119);
oprbs(19) := i(17) xor i(19) xor i(116) xor i(120);
oprbs(20) := i(18) xor i(20) xor i(117) xor i(121);
oprbs(21) := i(19) xor i(21) xor i(118) xor i(122);
oprbs(22) := i(20) xor i(22) xor i(119) xor i(123);
oprbs(23) := i(21) xor i(23) xor i(120) xor i(124);
oprbs(24) := i(22) xor i(24) xor i(121) xor i(125);
oprbs(25) := i(23) xor i(25) xor i(122) xor i(126);
oprbs(26) := i(24) xor i(26) xor i(123) xor i(127);
oprbs(27) := i(0) xor i(25) xor i(27) xor i(99) xor i(101) xor i(124) xor i(126);
oprbs(28) := i(1) xor i(26) xor i(28) xor i(100) xor i(102) xor i(125) xor i(127);
oprbs(29) := i(0) xor i(2) xor i(27) xor i(29) xor i(99) xor i(103);
oprbs(30) := i(1) xor i(3) xor i(28) xor i(30) xor i(100) xor i(104);
oprbs(31) := i(2) xor i(4) xor i(29) xor i(31) xor i(101) xor i(105);
oprbs(32) := i(3) xor i(5) xor i(30) xor i(32) xor i(102) xor i(106);
oprbs(33) := i(4) xor i(6) xor i(31) xor i(33) xor i(103) xor i(107);
oprbs(34) := i(5) xor i(7) xor i(32) xor i(34) xor i(104) xor i(108);
oprbs(35) := i(6) xor i(8) xor i(33) xor i(35) xor i(105) xor i(109);
oprbs(36) := i(7) xor i(9) xor i(34) xor i(36) xor i(106) xor i(110);
oprbs(37) := i(8) xor i(10) xor i(35) xor i(37) xor i(107) xor i(111);
oprbs(38) := i(9) xor i(11) xor i(36) xor i(38) xor i(108) xor i(112);
oprbs(39) := i(10) xor i(12) xor i(37) xor i(39) xor i(109) xor i(113);
oprbs(40) := i(11) xor i(13) xor i(38) xor i(40) xor i(110) xor i(114);
oprbs(41) := i(12) xor i(14) xor i(39) xor i(41) xor i(111) xor i(115);
oprbs(42) := i(13) xor i(15) xor i(40) xor i(42) xor i(112) xor i(116);
oprbs(43) := i(14) xor i(16) xor i(41) xor i(43) xor i(113) xor i(117);
oprbs(44) := i(15) xor i(17) xor i(42) xor i(44) xor i(114) xor i(118);
oprbs(45) := i(16) xor i(18) xor i(43) xor i(45) xor i(115) xor i(119);
oprbs(46) := i(17) xor i(19) xor i(44) xor i(46) xor i(116) xor i(120);
oprbs(47) := i(18) xor i(20) xor i(45) xor i(47) xor i(117) xor i(121);
oprbs(48) := i(19) xor i(21) xor i(46) xor i(48) xor i(118) xor i(122);
oprbs(49) := i(20) xor i(22) xor i(47) xor i(49) xor i(119) xor i(123);
oprbs(50) := i(21) xor i(23) xor i(48) xor i(50) xor i(120) xor i(124);
oprbs(51) := i(22) xor i(24) xor i(49) xor i(51) xor i(121) xor i(125);
oprbs(52) := i(23) xor i(25) xor i(50) xor i(52) xor i(122) xor i(126);
oprbs(53) := i(24) xor i(26) xor i(51) xor i(53) xor i(123) xor i(127);
oprbs(54) := i(25) xor i(27) xor i(52) xor i(54) xor i(124);
oprbs(55) := i(26) xor i(28) xor i(53) xor i(55) xor i(125);
oprbs(56) := i(27) xor i(29) xor i(54) xor i(56) xor i(126);
oprbs(57) := i(28) xor i(30) xor i(55) xor i(57) xor i(127);
oprbs(58) := i(29) xor i(31) xor i(56) xor i(58);
oprbs(59) := i(30) xor i(32) xor i(57) xor i(59);
oprbs(60) := i(31) xor i(33) xor i(58) xor i(60);
oprbs(61) := i(32) xor i(34) xor i(59) xor i(61);
oprbs(62) := i(33) xor i(35) xor i(60) xor i(62);
oprbs(63) := i(34) xor i(36) xor i(61) xor i(63);
oprbs(64) := i(35) xor i(37) xor i(62) xor i(64);
oprbs(65) := i(36) xor i(38) xor i(63) xor i(65);
oprbs(66) := i(37) xor i(39) xor i(64) xor i(66);
oprbs(67) := i(38) xor i(40) xor i(65) xor i(67);
oprbs(68) := i(39) xor i(41) xor i(66) xor i(68);
oprbs(69) := i(40) xor i(42) xor i(67) xor i(69);
oprbs(70) := i(41) xor i(43) xor i(68) xor i(70);
oprbs(71) := i(42) xor i(44) xor i(69) xor i(71);
oprbs(72) := i(43) xor i(45) xor i(70) xor i(72);
oprbs(73) := i(44) xor i(46) xor i(71) xor i(73);
oprbs(74) := i(45) xor i(47) xor i(72) xor i(74);
oprbs(75) := i(46) xor i(48) xor i(73) xor i(75);
oprbs(76) := i(47) xor i(49) xor i(74) xor i(76);
oprbs(77) := i(48) xor i(50) xor i(75) xor i(77);
oprbs(78) := i(49) xor i(51) xor i(76) xor i(78);
oprbs(79) := i(50) xor i(52) xor i(77) xor i(79);
oprbs(80) := i(51) xor i(53) xor i(78) xor i(80);
oprbs(81) := i(52) xor i(54) xor i(79) xor i(81);
oprbs(82) := i(53) xor i(55) xor i(80) xor i(82);
oprbs(83) := i(54) xor i(56) xor i(81) xor i(83);
oprbs(84) := i(55) xor i(57) xor i(82) xor i(84);
oprbs(85) := i(56) xor i(58) xor i(83) xor i(85);
oprbs(86) := i(57) xor i(59) xor i(84) xor i(86);
oprbs(87) := i(58) xor i(60) xor i(85) xor i(87);
oprbs(88) := i(59) xor i(61) xor i(86) xor i(88);
oprbs(89) := i(60) xor i(62) xor i(87) xor i(89);
oprbs(90) := i(61) xor i(63) xor i(88) xor i(90);
oprbs(91) := i(62) xor i(64) xor i(89) xor i(91);
oprbs(92) := i(63) xor i(65) xor i(90) xor i(92);
oprbs(93) := i(64) xor i(66) xor i(91) xor i(93);
oprbs(94) := i(65) xor i(67) xor i(92) xor i(94);
oprbs(95) := i(66) xor i(68) xor i(93) xor i(95);
oprbs(96) := i(67) xor i(69) xor i(94) xor i(96);
oprbs(97) := i(68) xor i(70) xor i(95) xor i(97);
oprbs(98) := i(69) xor i(71) xor i(96) xor i(98);
oprbs(99) := i(70) xor i(72) xor i(97) xor i(99);
oprbs(100) := i(71) xor i(73) xor i(98) xor i(100);
oprbs(101) := i(72) xor i(74) xor i(99) xor i(101);
oprbs(102) := i(73) xor i(75) xor i(100) xor i(102);
oprbs(103) := i(74) xor i(76) xor i(101) xor i(103);
oprbs(104) := i(75) xor i(77) xor i(102) xor i(104);
oprbs(105) := i(76) xor i(78) xor i(103) xor i(105);
oprbs(106) := i(77) xor i(79) xor i(104) xor i(106);
oprbs(107) := i(78) xor i(80) xor i(105) xor i(107);
oprbs(108) := i(79) xor i(81) xor i(106) xor i(108);
oprbs(109) := i(80) xor i(82) xor i(107) xor i(109);
oprbs(110) := i(81) xor i(83) xor i(108) xor i(110);
oprbs(111) := i(82) xor i(84) xor i(109) xor i(111);
oprbs(112) := i(83) xor i(85) xor i(110) xor i(112);
oprbs(113) := i(84) xor i(86) xor i(111) xor i(113);
oprbs(114) := i(85) xor i(87) xor i(112) xor i(114);
oprbs(115) := i(86) xor i(88) xor i(113) xor i(115);
oprbs(116) := i(87) xor i(89) xor i(114) xor i(116);
oprbs(117) := i(88) xor i(90) xor i(115) xor i(117);
oprbs(118) := i(89) xor i(91) xor i(116) xor i(118);
oprbs(119) := i(90) xor i(92) xor i(117) xor i(119);
oprbs(120) := i(91) xor i(93) xor i(118) xor i(120);
oprbs(121) := i(92) xor i(94) xor i(119) xor i(121);
oprbs(122) := i(93) xor i(95) xor i(120) xor i(122);
oprbs(123) := i(94) xor i(96) xor i(121) xor i(123);
oprbs(124) := i(95) xor i(97) xor i(122) xor i(124);
oprbs(125) := i(96) xor i(98) xor i(123) xor i(125);
oprbs(126) := i(97) xor i(99) xor i(124) xor i(126);
oprbs(127) := i(98) xor i(100) xor i(125) xor i(127);
return oprbs;
end;
--###########################################################################
-- PRBS derived from typicall serial PRBS equations
--
------------------------------------------------
-- Parallel PRBS prbs32_40b. Bus Size 40
-- X^32 + X^31 + X^30; X^10 + 1
------------------------------------------------
function prbs32_40b( i : std_logic_vector )
return std_logic_vector is
constant w : integer := i'length;
variable oprbs : std_logic_vector(w-1 downto 0);
begin
oprbs(39) := i(9) xor i(29) xor i(30) xor i(31);
oprbs(38) := i(8) xor i(28) xor i(29) xor i(30);
oprbs(37) := i(7) xor i(27) xor i(28) xor i(29);
oprbs(36) := i(6) xor i(26) xor i(27) xor i(28);
oprbs(35) := i(5) xor i(25) xor i(26) xor i(27);
oprbs(34) := i(4) xor i(24) xor i(25) xor i(26);
oprbs(33) := i(3) xor i(23) xor i(24) xor i(25);
oprbs(32) := i(2) xor i(22) xor i(23) xor i(24);
oprbs(31) := i(1) xor i(21) xor i(22) xor i(23);
oprbs(30) := i(0) xor i(20) xor i(21) xor i(22);
oprbs(29) := i(9) xor i(19) xor i(20) xor i(21) xor i(29) xor i(30) xor i(31);
oprbs(28) := i(8) xor i(18) xor i(19) xor i(20) xor i(28) xor i(29) xor i(30);
oprbs(27) := i(7) xor i(17) xor i(18) xor i(19) xor i(27) xor i(28) xor i(29);
oprbs(26) := i(6) xor i(16) xor i(17) xor i(18) xor i(26) xor i(27) xor i(28);
oprbs(25) := i(5) xor i(15) xor i(16) xor i(17) xor i(25) xor i(26) xor i(27);
oprbs(24) := i(4) xor i(14) xor i(15) xor i(16) xor i(24) xor i(25) xor i(26);
oprbs(23) := i(3) xor i(13) xor i(14) xor i(15) xor i(23) xor i(24) xor i(25);
oprbs(22) := i(2) xor i(12) xor i(13) xor i(14) xor i(22) xor i(23) xor i(24);
oprbs(21) := i(1) xor i(11) xor i(12) xor i(13) xor i(21) xor i(22) xor i(23);
oprbs(20) := i(0) xor i(10) xor i(11) xor i(12) xor i(20) xor i(21) xor i(22);
oprbs(19) := i(10) xor i(11) xor i(19) xor i(20) xor i(21) xor i(29) xor i(30) xor i(31);
oprbs(18) := i(9) xor i(10) xor i(18) xor i(19) xor i(20) xor i(28) xor i(29) xor i(30);
oprbs(17) := i(8) xor i(9) xor i(17) xor i(18) xor i(19) xor i(27) xor i(28) xor i(29);
oprbs(16) := i(7) xor i(8) xor i(16) xor i(17) xor i(18) xor i(26) xor i(27) xor i(28);
oprbs(15) := i(6) xor i(7) xor i(15) xor i(16) xor i(17) xor i(25) xor i(26) xor i(27);
oprbs(14) := i(5) xor i(6) xor i(14) xor i(15) xor i(16) xor i(24) xor i(25) xor i(26);
oprbs(13) := i(4) xor i(5) xor i(13) xor i(14) xor i(15) xor i(23) xor i(24) xor i(25);
oprbs(12) := i(3) xor i(4) xor i(12) xor i(13) xor i(14) xor i(22) xor i(23) xor i(24);
oprbs(11) := i(2) xor i(3) xor i(11) xor i(12) xor i(13) xor i(21) xor i(22) xor i(23);
oprbs(10) := i(1) xor i(2) xor i(10) xor i(11) xor i(12) xor i(20) xor i(21) xor i(22);
oprbs(9) := i(0) xor i(1) xor i(9) xor i(10) xor i(11) xor i(19) xor i(20) xor i(21);
oprbs(8) := i(0) xor i(8) xor i(10) xor i(18) xor i(19) xor i(20) xor i(29) xor i(30) xor i(31);
oprbs(7) := i(7) xor i(17) xor i(18) xor i(19) xor i(28) xor i(31);
oprbs(6) := i(6) xor i(16) xor i(17) xor i(18) xor i(27) xor i(30);
oprbs(5) := i(5) xor i(15) xor i(16) xor i(17) xor i(26) xor i(29);
oprbs(4) := i(4) xor i(14) xor i(15) xor i(16) xor i(25) xor i(28);
oprbs(3) := i(3) xor i(13) xor i(14) xor i(15) xor i(24) xor i(27);
oprbs(2) := i(2) xor i(12) xor i(13) xor i(14) xor i(23) xor i(26);
oprbs(1) := i(1) xor i(11) xor i(12) xor i(13) xor i(22) xor i(25);
oprbs(0) := i(0) xor i(10) xor i(11) xor i(12) xor i(21) xor i(24);
return oprbs;
end;
------------------------------------------------
-- Parallel PRBS prbs31_40b. Bus Size 40
-- X^31 + X^28 + 1
------------------------------------------------
function prbs31_40b( i : std_logic_vector )
return std_logic_vector is
constant w : integer := i'length;
variable oprbs : std_logic_vector(w-1 downto 0);
begin
oprbs(39) := i(27) xor i(30);
oprbs(38) := i(26) xor i(29);
oprbs(37) := i(25) xor i(28);
oprbs(36) := i(24) xor i(27);
oprbs(35) := i(23) xor i(26);
oprbs(34) := i(22) xor i(25);
oprbs(33) := i(21) xor i(24);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -