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

📄 pkg_prbs.vhd

📁 The xapp851.zip archive includes the following subdirectories. The specific contents of each subdi
💻 VHD
📖 第 1 页 / 共 5 页
字号:
		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 + -