亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dec.vhd

?? it is used to understand the basic working of a BCH encoder/Decoder
?? VHD
?? 第 1 頁 / 共 3 頁
字號:
END dxorta;


--------------------------------------------------------------------

-- Multiply by L^i, where gen. polynomial= 1+ x^i + x^m (for m!=8)

	USE WORK.const.ALL;
ENTITY dmli IS
PORT (din: IN BIT_VECTOR(0 TO m-1);
 	dout: OUT BIT_VECTOR(0 TO m-1));
END dmli;

ARCHITECTURE dmlia OF dmli IS
BEGIN
	dout(0)<= din(1);
	dout(1)<= din(2);
	dout(2)<= din(3);
	dout(3)<= din(0) XOR din(1);
END dmlia;

---------------------------------------------------------------------------
-- squaring dout<= (din)^2 in standard basis -- for inverse calculator

	USE WORK.const.ALL;
ENTITY dsq IS
PORT ( din: IN BIT_VECTOR(0 TO m-1); 
	dout: OUT BIT_VECTOR(0 TO m-1)); -- serial output 
END dsq;

ARCHITECTURE dsqa OF dsq IS
	SIGNAL dxor: BIT_VECTOR(0 TO 3);
  BEGIN
	dxor(0 TO m-1)<= din;
		-- optimalization saving = 0 XOR gates
	dout(0)<= dxor(0) XOR dxor(2);
	dout(1)<= dxor(2);
	dout(2)<= dxor(1) XOR dxor(3);
	dout(3)<= dxor(3);
	-- no. XOR gates = 2
 
END dsqa;

-----------------------------------------------------------------------------
-- m* registers with reset to dual basis one

	USE WORK.const.ALL;
ENTITY drdrDualOne IS
PORT (clk, ce, reset: BIT;
	din: IN BIT_VECTOR(0 TO m-1); 
	dout: OUT BIT_VECTOR(0 TO m-1)); -- serial output 
END drdrDualOne;

ARCHITECTURE drdrDualOnea OF drdrDualOne IS
	SIGNAL q: BIT_VECTOR(0 TO m-1);
  BEGIN
	dout<= q;
  PROCESS BEGIN
	WAIT UNTIL clk'EVENT AND clk='1';
	IF reset='1' THEN
		q<= "1000";
	ELSIF ce='1' THEN
		q<= din;
	ELSE 
		q<= q;
	END IF;
  END PROCESS;
END drdrDualOnea;

----------------------------------------------------------------------------------
-- Inventer dout<= din^(-1)<= din^(2)*din^(4)*...*din^(2^(m-1))

	USE WORK.const.ALL;
ENTITY dinv IS
PORT (clk, cbBeg, bsel, caLast, cce, drnzero, snce, synpe: IN BIT;  
	din: IN BIT_VECTOR(0 TO m-1); --input data selected by sel_in
	dout: OUT BIT_VECTOR(0 TO m-1));
END dinv;

ARCHITECTURE dinva OF dinv IS
	SIGNAL qsq, sq, msin, mdin, mout: BIT_VECTOR(0 TO m-1);
	-- sq- square, q??- RD out, m??? - parallel multiplier, ?d/s -dual standard basis
	SIGNAL ce1, ce2a, ce2b, ce2, reset, sel: BIT;
	
	COMPONENT dmul21   -- 2-1 multiplexer
	  	PORT ( sel: IN BIT; d0, d1: IN BIT_VECTOR(0 TO m-1); 
			dout: OUT BIT_VECTOR(0 TO m-1)); 
		END COMPONENT;
	  	FOR ALL: dmul21 USE ENTITY WORK.dmul21 (dmul21a);
	COMPONENT drdce     -- PIPO register
	  	PORT (clk, ce: IN BIT; din: IN BIT_VECTOR(0 TO m-1); 
			dout: OUT BIT_VECTOR(0 TO m-1));  
		END COMPONENT;
	  	FOR ALL: drdce USE ENTITY WORK.drdce (drdcea);
	COMPONENT drdrDualOne -- registers with and reset to dual basis one
		PORT (clk, ce, reset: IN BIT; din: IN BIT_VECTOR(0 TO m-1); 
			dout: OUT BIT_VECTOR(0 TO m-1)); 
		END COMPONENT;
	  	FOR ALL: drdrDualOne USE ENTITY WORK.drdrDualOne (drdrDualOnea);
	COMPONENT dsq    -- dout<= (din)^2
	  	PORT ( din: IN BIT_VECTOR(0 TO m-1);
			dout: OUT BIT_VECTOR(0 TO m-1));
		END COMPONENT;
		FOR ALL: dsq USE ENTITY WORK.dsq (dsqa);
	COMPONENT dpdbm    -- Parallel dual basis multiplier
		PORT (ddin, dsin: IN BIT_VECTOR(0 TO m-1); 
			dout: OUT BIT_VECTOR(0 TO m-1));  
		END COMPONENT;
	  	FOR ALL: dpdbm USE ENTITY WORK.dpdbm (dpdbma);
  BEGIN
	ce1<= ce2 OR caLast OR synpe;
	ce2a<= drnzero AND cbBeg;
	ce2b<= bsel OR ce2a;
	ce2<= cce AND NOT snce AND ce2b;
	reset<= (snce AND bsel) OR synpe;
	sel<= caLast OR synpe;

	dout<= mout;
	x1: dmul21
	  PORT MAP (sel, qsq, din, msin);
	s1: dsq
	  PORT MAP (msin, sq);
	q1: drdce  
	  PORT MAP (clk, ce1, sq, qsq);
	q2: drdrDualOne
	  PORT MAP (clk, ce2, reset, mout, mdin);
	m1: dpdbm
	  PORT MAP (mdin, msin, mout);
END dinva;

---------------------------------------------------------------------------------
-- Find if chien search circuit is equil 0

	USE WORK.const.ALL;
ENTITY dcheq IS
PORT (din1, din2, din3: IN BIT_VECTOR(0 TO m-1); 
	dout: OUT BIT); -- dout=1 if equil 
END dcheq;

ARCHITECTURE dcheqa OF dcheq IS
	SIGNAL eq: BIT_VECTOR(0 TO m-1);
  BEGIN
	eq(0)<= NOT din1(0) XOR din2(0) XOR din3(0);
	eq(1)<= din1(1) XOR din2(1) XOR din3(1);
	eq(2)<= din1(2) XOR din2(2) XOR din3(2);
	eq(3)<= din1(3) XOR din2(3) XOR din3(3);
	dout<= NOT (eq(0) OR eq(1) OR eq(2) OR eq(3));
END dcheqa;

----------------------------------------------------------------------------------
---------------------------------------------------------------------------
-- Syndroms calculation circuits

	USE WORK.const.ALL;
ENTITY dsyn1 IS
PORT (clk, ce, pe ,din: IN BIT;
	dout1, dout2, dout4: OUT BIT_VECTOR(0 TO m-1));
END dsyn1;

ARCHITECTURE dsyn1a OF dsyn1 IS
	SIGNAL syn: BIT_VECTOR(0 TO 5);
  BEGIN
	syn(4)<= syn(1) XOR syn(3); -- 2
	syn(5)<= syn(0) XOR syn(2); -- 1
		-- Saving due to optimisation = 3
	dout1(0 TO m-1)<= syn(0 TO m-1);
	dout2(0)<= syn(5);
	dout2(1)<= syn(2);
	dout2(2)<= syn(4);
	dout2(3)<= syn(3);
	dout4(0)<= syn(4) XOR syn(5);
	dout4(1)<= syn(4);
	dout4(2)<= syn(2) XOR syn(3);
	dout4(3)<= syn(3);
  PROCESS BEGIN
	WAIT UNTIL clk'EVENT AND clk='1';
	IF pe='1' THEN
	  syn(0)<= din;
	  syn(1 TO 3)<= "000";
	ELSIF ce='1' THEN
	  syn(0)<= syn(3) XOR din;
	  syn(1)<= syn(0) XOR syn(3);
	  syn(2)<= syn(1);
	  syn(3)<= syn(2);
	END IF;
  END PROCESS;
END dsyn1a;


	USE WORK.const.ALL;
ENTITY dsyn3 IS
PORT (clk, ce, pe ,din: IN BIT;
	dout3: OUT BIT_VECTOR(0 TO m-1));
END dsyn3;

ARCHITECTURE dsyn3a OF dsyn3 IS
	SIGNAL syn: BIT_VECTOR(0 TO 3);
  BEGIN
	dout3<= syn;
  PROCESS BEGIN
	WAIT UNTIL clk'EVENT AND clk='1';
	IF pe='1' THEN
	  syn(0)<= din;
	  syn(1 TO 3)<= "000";
	ELSIF ce='1' THEN
	syn(0)<= din XOR syn(1);
	syn(1)<= syn(1) XOR syn(2);
	syn(2)<= syn(2) XOR syn(3);
	syn(3)<= syn(0) XOR syn(3);
	END IF;
  END PROCESS;
END dsyn3a;


	USE WORK.const.ALL;
ENTITY dsyn5 IS
PORT (clk, ce, pe ,din: IN BIT;
	dout5: OUT BIT_VECTOR(0 TO m-1));
END dsyn5;

ARCHITECTURE dsyn5a OF dsyn5 IS
	SIGNAL syn: BIT_VECTOR(0 TO 1);
  BEGIN
		-- Saving due to optimisation = 0
	dout5(0)<= syn(0);
	dout5(1)<= syn(1);
	dout5(2)<= syn(1);
	dout5(3)<= '0';
  PROCESS BEGIN
	WAIT UNTIL clk'EVENT AND clk='1';
	IF pe='1' THEN
	  syn(0)<= din;
	  syn(1 TO 1)<= "0";
	ELSIF ce='1' THEN
	  syn(0)<= syn(1) XOR din;
	  syn(1)<= syn(0) XOR syn(1);
	END IF;
  END PROCESS;
END dsyn5a;


---------------------------------------------------------------------------
-- Chien search circuits

	USE WORK.const.ALL;
ENTITY dch1 IS
PORT (clk, ce, pe: IN BIT;
	din: IN BIT_VECTOR(0 TO m-1);
	dout: OUT BIT_VECTOR(0 TO m-1));
END dch1;

ARCHITECTURE dch1a OF dch1 IS
	SIGNAL chin: BIT_VECTOR(0 TO m-1); -- registers input
	SIGNAL ch: BIT_VECTOR(0 TO 3); -- ch registers and optimisation
  BEGIN
	dout<= ch(0 TO m-1);
	chin(0)<= ch(3);
	chin(1)<= ch(0) XOR ch(3);
	chin(2)<= ch(1);
	chin(3)<= ch(2);
  PROCESS BEGIN
	WAIT UNTIL clk'EVENT AND clk='1';
	IF pe='1' THEN
	  ch(0 TO m-1)<= din;
	ELSIF ce='1' THEN
	  ch(0 TO m-1)<= chin;
	END IF;
  END PROCESS;
	-- number XOR gates= 1;
END dch1a;


	USE WORK.const.ALL;
ENTITY dch2 IS
PORT (clk, ce, pe: IN BIT;
	din: IN BIT_VECTOR(0 TO m-1);
	dout: OUT BIT_VECTOR(0 TO m-1));
END dch2;

ARCHITECTURE dch2a OF dch2 IS
	SIGNAL chin: BIT_VECTOR(0 TO m-1); -- registers input
	SIGNAL ch: BIT_VECTOR(0 TO 3); -- ch registers and optimisation
  BEGIN
	dout<= ch(0 TO m-1);
	chin(0)<= ch(2);
	chin(1)<= ch(2) XOR ch(3);
	chin(2)<= ch(0) XOR ch(3);
	chin(3)<= ch(1);
  PROCESS BEGIN
	WAIT UNTIL clk'EVENT AND clk='1';
	IF pe='1' THEN
	  ch(0 TO m-1)<= din;
	ELSIF ce='1' THEN
	  ch(0 TO m-1)<= chin;
	END IF;
  END PROCESS;
	-- number XOR gates= 2;
END dch2a;


	USE WORK.const.ALL;
ENTITY dch3 IS
PORT (clk, ce, pe: IN BIT;
	din: IN BIT_VECTOR(0 TO m-1);
	dout: OUT BIT_VECTOR(0 TO m-1));
END dch3;

ARCHITECTURE dch3a OF dch3 IS
	SIGNAL chin: BIT_VECTOR(0 TO m-1); -- registers input
	SIGNAL ch: BIT_VECTOR(0 TO 3); -- ch registers and optimisation
  BEGIN
	dout<= ch(0 TO m-1);
	chin(0)<= ch(1);
	chin(1)<= ch(1) XOR ch(2);
	chin(2)<= ch(2) XOR ch(3);
	chin(3)<= ch(0) XOR ch(3);
  PROCESS BEGIN
	WAIT UNTIL clk'EVENT AND clk='1';
	IF pe='1' THEN
	  ch(0 TO m-1)<= din;
	ELSIF ce='1' THEN
	  ch(0 TO m-1)<= chin;
	END IF;
  END PROCESS;
	-- number XOR gates= 3;
END dch3a;


-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-- CONTROL ENTITIES - counters
-- counter a

	USE WORK.const.ALL;
ENTITY dca IS
PORT (clk, reset: IN BIT;
	cRes: OUT BIT; -- cRes<= countLast OR  reset
	dout: OUT BIT_VECTOR(0 TO sizea-1)); -- count
END dca;

ARCHITECTURE dcaa OF dca IS
	SIGNAL ca, cin, cand: BIT_VECTOR(0 TO sizea-1);
	SIGNAL CRes1, cLast: BIT;
  BEGIN
	dout<= ca;
	cRes<= cRes1;
	cRes1<= cLast OR reset;
	cLast<= ca(0) AND NOT ca(1) AND ca(2);  -- ca= 5
		--cLast=1 - when c= iteration-1
	cand(0)<= ca(0);
	cin(0)<= NOT ca(0);

	   gen_cin:
	FOR i IN 1 TO sizea-1 GENERATE
		cin(i)<= cand(i-1) XOR ca(i);
	END GENERATE;
	  den_cand_if:
	IF sizea>2 GENERATE
	  gen_cand:
	  FOR i IN 1 TO sizea-2 GENERATE
		cand(i)<= ca(i) AND cand(i-1);
	  END GENERATE;
	END GENERATE;
  PROCESS BEGIN
	WAIT UNTIL clk'EVENT AND clk='1';
	FOR i IN 0 TO sizea-1 LOOP
	  IF cRes1='1' THEN
        	ca(i)<= '0';	
	  ELSE
		ca(i)<= cin(i);
	  END IF;
	END LOOP;
  END PROCESS;
END dcaa;

-------------------------------------------------------------------------------
-- interleave counter - copied only if interleave>1

	USE WORK.const.ALL;
ENTITY dci IS
PORT (clk, reset: IN BIT;
	dout: OUT BIT); -- dout=1 if count=0
END dci;

ARCHITECTURE dcia OF dci IS
	CONSTANT sizei: INTEGER:= 1; -- =log2(interleave)
	SIGNAL ci, cin, cand: BIT_VECTOR(0 TO sizei-1);
	SIGNAL cBeg, cLast, res: BIT;
  BEGIN
	dout<= cBeg;
	res<= cLast OR reset;
	--cLast=1 - when ci= interleave-1
	cLast<= ci(0);  -- ci= 1
	cBeg<= NOT ci(0);  -- ci= 0
	cand(0)<= ci(0);
	cin(0)<= NOT ci(0);

  PROCESS BEGIN
	WAIT UNTIL clk'EVENT AND clk='1';
	FOR i IN 0 TO sizei-1 LOOP
	  IF res='1' THEN
        	ci(i)<= '0';	
	  ELSE
		ci(i)<= cin(i);
	  END IF;
	END LOOP;
  END PROCESS;
END dcia;

-------------------------------------------------------------------------------
-- counter b -- no. of cicles count= iteration*cb +ca 

	USE WORK.const.ALL;
ENTITY dcb IS
PORT (clk, ce, reset: IN BIT;
	dout: OUT BIT_VECTOR(0 TO sizeb-1)); -- count
END dcb;

ARCHITECTURE dcba OF dcb IS
	SIGNAL cb, cin, cand: BIT_VECTOR(0 TO sizeb-1);
  BEGIN
	dout<= cb;
	cand(0)<= cb(0);
	cin(0)<= NOT cb(0);

	   gen_cin:
	FOR i IN 1 TO sizeb-1 GENERATE
		cin(i)<= cand(i-1) XOR cb(i);
	END GENERATE;
		gen_cand:
	FOR i IN 1 TO sizeb-2 GENERATE
		cand(i)<= cb(i) AND cand(i-1);
	END GENERATE;
  PROCESS BEGIN
	WAIT UNTIL clk'EVENT AND clk='1';
	FOR i IN 0 TO sizeb-1 LOOP
	  IF reset='1' THEN
        	cb(i)<= '0';	
	  ELSIF ce='1' THEN
		cb(i)<= cin(i);
	  END IF;
	END LOOP;
  END PROCESS;
END dcba;
-------------------------------------------------------------------------------
-- l (degree of error polynomial in BMA) circuit  

	USE WORK.const.ALL;
ENTITY dcl IS
PORT (clk, ce, reset, bsel: IN BIT;
	cb: BIT_VECTOR(0 TO sizeb-1);
	dout: OUT BIT); -- dout=1 if l<= cb
END dcl;

ARCHITECTURE dcla OF dcl IS

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人av一区二区| 成人app网站| 亚洲精品中文字幕乱码三区 | 国产成人av电影免费在线观看| 亚洲欧美色图小说| 久久久蜜臀国产一区二区| 在线亚洲+欧美+日本专区| 国产裸体歌舞团一区二区| 天天色图综合网| 中文字幕中文字幕在线一区| 精品日韩一区二区三区免费视频| 欧美伊人久久久久久午夜久久久久| 国内久久精品视频| 日韩电影一区二区三区四区| 亚洲黄网站在线观看| 国产目拍亚洲精品99久久精品| 91精品国产欧美一区二区18| 欧美在线色视频| 99久久99久久精品国产片果冻| 黑人巨大精品欧美黑白配亚洲| 亚洲国产人成综合网站| 中文字幕制服丝袜一区二区三区| 久久久久国产精品厨房| 日韩欧美高清在线| 日韩视频一区二区在线观看| 精品视频一区三区九区| 色av成人天堂桃色av| 成人av在线一区二区| 国产成人丝袜美腿| 国产真实乱对白精彩久久| 久久精品国产在热久久| 日本怡春院一区二区| 亚洲国产精品一区二区www在线| 国产精品麻豆久久久| 国产女同互慰高潮91漫画| 久久久久久一级片| 久久网站最新地址| 欧美精品一区二区久久婷婷| 日韩一区二区三区视频| 欧美一级日韩一级| 日韩欧美国产午夜精品| 日韩一区二区三| 日韩欧美国产三级| 日韩美女视频在线| 欧美成人a∨高清免费观看| 日韩欧美一区二区视频| 日韩免费视频线观看| 欧美精品一区二区在线观看| 久久综合九色综合欧美就去吻| 精品国产乱码久久久久久1区2区| 欧美精品一区二区不卡| 久久久久久久免费视频了| 国产三级一区二区| 国产精品无码永久免费888| 国产精品久久久一本精品 | 黄色日韩网站视频| 国产精品一二三区在线| 成人免费毛片aaaaa**| av一区二区三区黑人| 色综合色狠狠天天综合色| 在线观看免费视频综合| 欧美一区二区视频免费观看| 精品久久99ma| 国产精品―色哟哟| 一区二区三区精密机械公司| 丝瓜av网站精品一区二区| 老司机精品视频导航| 成人激情图片网| 欧美专区在线观看一区| 欧美mv和日韩mv的网站| 国产精品欧美一区喷水| 一区二区欧美精品| 经典三级视频一区| 91免费版在线| 欧美精品三级在线观看| 久久精品亚洲精品国产欧美 | 亚洲综合在线电影| 日韩va欧美va亚洲va久久| 国产精品小仙女| 91福利视频在线| 欧美精品一区二| 一区二区三区在线免费视频| 日本sm残虐另类| 成人aaaa免费全部观看| 欧美久久婷婷综合色| 国产亚洲va综合人人澡精品| 亚洲一区二区三区视频在线| 韩国女主播成人在线| 色综合天天综合色综合av| 精品国产sm最大网站| 亚洲精品一二三区| 国产精品一色哟哟哟| 欧美亚洲国产一区二区三区va| 久久综合色天天久久综合图片| 亚洲精品久久久蜜桃| 韩国精品主播一区二区在线观看 | 一本色道久久综合精品竹菊| 日韩欧美一级二级三级久久久| 中文字幕在线免费不卡| 日本中文字幕一区| 91久久精品午夜一区二区| 久久久亚洲高清| 欧美aaaaa成人免费观看视频| av在线播放不卡| 久久久久久久网| 日韩 欧美一区二区三区| 91视频.com| 欧美—级在线免费片| 美女性感视频久久| 欧美性猛片xxxx免费看久爱| 国产精品青草综合久久久久99| 久久精品国产一区二区三区免费看| 91久久精品一区二区| 国产精品成人在线观看| 国产成人在线视频网址| 欧美不卡在线视频| 蜜臀av一级做a爰片久久| 欧美精品乱码久久久久久按摩| 亚洲视频一二区| 97国产精品videossex| 国产精品女上位| 国产成人免费网站| wwwwxxxxx欧美| 国产一区二区三区久久悠悠色av| 91精品国产综合久久蜜臀 | 精品一区二区三区日韩| 宅男噜噜噜66一区二区66| 亚洲主播在线观看| 日本福利一区二区| 亚洲黄色小说网站| 色成人在线视频| 亚洲欧美日韩在线不卡| 国产老妇另类xxxxx| 欧美顶级少妇做爰| 青青草视频一区| 在线不卡一区二区| 亚洲综合清纯丝袜自拍| 欧美日韩一区在线| 亚洲国产美女搞黄色| 色一情一乱一乱一91av| 国产精品嫩草久久久久| 国产专区综合网| 精品电影一区二区| 欧美性高清videossexo| 日韩视频一区二区三区| www激情久久| 国产精品一区二区无线| 欧美大肚乱孕交hd孕妇| 免费成人av资源网| 7777精品伊人久久久大香线蕉超级流畅| 自拍偷自拍亚洲精品播放| 国产v综合v亚洲欧| 日本一区二区三区久久久久久久久不| 国内久久精品视频| 国产亚洲成av人在线观看导航| 成人一道本在线| |精品福利一区二区三区| 波多野结衣中文字幕一区| 国产精品久久久爽爽爽麻豆色哟哟 | 91理论电影在线观看| 国产精品无圣光一区二区| 成人av在线资源网| 国产日韩欧美精品电影三级在线| 国产高清成人在线| 国产精品家庭影院| 色综合天天在线| 欧美国产欧美亚州国产日韩mv天天看完整| 99精品视频一区二区| 亚洲欧美日韩人成在线播放| 欧美在线观看一区| 日本午夜精品视频在线观看| 欧美v亚洲v综合ⅴ国产v| 国产成人免费视频网站高清观看视频| 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲视频资源在线| 欧美三级资源在线| 久久成人久久爱| 最新中文字幕一区二区三区| 欧美在线免费播放| 美女视频一区二区三区| 日韩欧美专区在线| 91黄视频在线观看| 日韩国产精品久久久久久亚洲| 精品国产一区二区三区不卡 | 国产乱子伦一区二区三区国色天香| 国产丝袜美腿一区二区三区| 欧美日韩一区视频| 国产成人在线观看| 亚洲激情av在线| 欧美成人伊人久久综合网| 久久精品国产精品亚洲精品| 在线观看免费成人| 亚洲欧美中日韩| 91精品综合久久久久久| 国产河南妇女毛片精品久久久| 亚洲六月丁香色婷婷综合久久 | 五月天亚洲精品| 久久久久免费观看| 欧美日韩国产电影| 成人av在线资源网站|