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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 18_tech_lib.vhd

?? 該源碼為用VHDL(硬件描述語言)編寫的100個(gè)實(shí)例的源代碼
?? VHD
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
------------------------------------------------------ The vhdl description for Xilinx Library (4000)-- -- Category: Self-Defined Types and Functions---- Yan.Zongfu-- 1995.10.18--------------------------------------------------------------------------------------------------------- Subypes: --		Self-Defined Types	---------------------------------------------------package	types is    subtype nat16 is integer range 0 to 65535;    subtype nat8  is integer range 0 to 255;    subtype nat4  is integer range 0 to 15;    function bit_to_int(bit1: bit_vector) return integer;    function int_to_bit(in1: integer; len:integer) return bit_vector;end types;----------------------------------------------------- Functions: --		Self-Defined Functions	---------------------------------------------------package body types is     function bit_to_int(bit1: bit_vector) return integer is	ALIAS v1: BIT_VECTOR(bit1'LENGTH-1 DOWNTO 0) IS bit1;        variable SUM: integer := 0;        variable i: integer;    begin	for i in v1'length - 1 downto 0 loop		if v1(i) = '1' then			SUM := SUM + 2**i;		end if;	end loop;	return SUM;    end bit_to_int;     function int_to_bit(in1: integer; len:integer) return bit_vector is 	variable i, in2: integer;	variable digit1: integer:= 2**(len - 1);	variable result: bit_vector((len-1) downto 0);    begin	in2 := in1;	for i in (len - 1) downto 0 loop		if in2 >= digit1 then			result(i) := '1';			in2 := in2 - digit1;		else			result(i) := '0';		end if;		digit1 := digit1 / 2;	end loop;		return result;    end int_to_bit;end types;------------------------------------------------------ The vhdl description for Xilinx Library (4000)-- -- Category: Arithmetic Functions---- Yan.Zongfu-- 1995.10.16--------------------------------------------------------------------------------------------------------- ADD1: --		1-Bit Full Adder with Carry-In & Carry-Out---------------------------------------------------use work.types.all;entity ADD1 is port( 	A  : in  bit;	B  : in  bit;	CI : in  bit;	CO : out bit;	S  : out bit);end ADD1;  architecture FUNC of ADD1 is	signal	X, Y: bit;begin	X  <= A xor B;	Y  <= X and CI;	S  <= X xor CI;	CO <= Y or (A and B);end FUNC; ----------------------------------------------------- ADD2: --		2-Bit Full Adder with Carry-In & Carry-Out---------------------------------------------------use work.types.all;entity ADD2 is port( 	A0 : in  bit;	A1 : in  bit;	B0 : in  bit;	B1 : in  bit;	CI : in  bit;	CO : out bit;	S0 : out bit;	S1 : out bit);end ADD2;  architecture FUNC of ADD2 isbegin	process(A0, A1, B0, B1, CI)		variable A, B: bit_vector(1 downto 0);		variable S: bit_vector(2 downto 0);		variable INT_A, INT_B, INT_S: nat4;	begin		-- initial		A := A1 & A0;		B := B1 & B0;		-- exchange A, B to integer		INT_A := bit_to_int(A);		INT_B := bit_to_int(B);		-- add A + B		INT_S := INT_A + INT_B;		-- add CI		if CI = '1' then 		   INT_S := INT_S + 1;		end if;		-- exchange INT_S to bit_vector		S := int_to_bit(INT_S, 3);		-- output		S0 <= S(0);		S1 <= S(1);		CO <= S(2);	end process;end FUNC;----------------------------------------------------- ADD4: --		4-Bit Full Adder with Carry-In & Carry-Out---------------------------------------------------use work.types.all;entity ADD4 is port( 	A0 : in  bit;	A1 : in  bit;	A2 : in  bit;	A3 : in  bit;	B0 : in  bit;	B1 : in  bit;	B2 : in  bit;	B3 : in  bit;	CI : in  bit;	CO : out bit;	S0 : out bit;	S1 : out bit;	S2 : out bit;	S3 : out bit);end ADD4;  architecture FUNC of ADD4 isbegin	process(A0, A1, A2, A3, B0, B1, B2, B3,  CI)		variable A, B: bit_vector(3 downto 0);		variable S: bit_vector(4 downto 0);		variable INT_A, INT_B, INT_S: nat8;	begin		-- initial		A := A3 & A2 & A1 & A0;		B := B3 & B2 & B1 & B0;		-- exchange A, B to integer		INT_A := bit_to_int(A);		INT_B := bit_to_int(B);		-- add A + B		INT_S := INT_A + INT_B;		-- add CI		if CI = '1' then 		   INT_S := INT_S + 1;		end if;		-- exchange INT_S to bit_vector		S := int_to_bit(INT_S, 5);		-- output		S0 <= S(0);		S1 <= S(1);		S2 <= S(2);		S3 <= S(3);		CO <= S(4);	end process;end FUNC;----------------------------------------------------- ADD8: --		8-Bit Full Adder with Carry-In & Carry-Out---------------------------------------------------use work.types.all;entity ADD8 is port( 	A0 : in  bit;	A1 : in  bit;	A2 : in  bit;	A3 : in  bit;	A4 : in  bit;	A5 : in  bit;	A6 : in  bit;	A7 : in  bit;	B0 : in  bit;	B1 : in  bit;	B2 : in  bit;	B3 : in  bit;	B4 : in  bit;	B5 : in  bit;	B6 : in  bit;	B7 : in  bit;	CI : in  bit;	CO : out bit;	S0 : out bit;	S1 : out bit;	S2 : out bit;	S3 : out bit;	S4 : out bit;	S5 : out bit;	S6 : out bit;	S7 : out bit);end ADD8;  architecture FUNC of ADD8 isbegin		process(A0,A1,A2,A3,A4,A5,A6,A7,B0,B1,B2,B3,B4,B5,B6,B7,CI)		variable A, B: bit_vector(7 downto 0);		variable S: bit_vector(8 downto 0);		variable INT_A, INT_B, INT_S: nat16;	begin		-- initial		A := A7 & A6 & A5 & A4 & A3 & A2 & A1 & A0;		B := B7 & B6 & B5 & B4 & B3 & B2 & B1 & B0;		-- exchange A, B to integer		INT_A := bit_to_int(A);		INT_B := bit_to_int(B);		-- add A + B		INT_S := INT_A + INT_B;		-- add CI		if CI = '1' then 		   INT_S := INT_S + 1;		end if;		-- exchange INT_S to bit_vector		S := int_to_bit(INT_S, 9);		-- output		S0 <= S(0);		S1 <= S(1);		S2 <= S(2);		S3 <= S(3);		S4 <= S(4);		S5 <= S(5);		S6 <= S(6);		S7 <= S(7);		CO <= S(8);	end process;end FUNC;----------------------------------------------------- ADD16: --		16-Bit Full Adder with Carry-In & Carry-Out---------------------------------------------------use work.types.all;entity ADD16 is port( 	A0 : in  bit;	A1 : in  bit;	A2 : in  bit;	A3 : in  bit;	A4 : in  bit;	A5 : in  bit;	A6 : in  bit;	A7 : in  bit;	A8 : in  bit;	A9 : in  bit;	A10: in  bit;	A11: in  bit;	A12: in  bit;	A13: in  bit;	A14: in  bit;	A15: in  bit;	B0 : in  bit;	B1 : in  bit;	B2 : in  bit;	B3 : in  bit;	B4 : in  bit;	B5 : in  bit;	B6 : in  bit;	B7 : in  bit;	B8 : in  bit;	B9 : in  bit;	B10: in  bit;	B11: in  bit;	B12: in  bit;	B13: in  bit;	B14: in  bit;	B15: in  bit;	CI : in  bit;	CO : out bit;	S0 : out bit;	S1 : out bit;	S2 : out bit;	S3 : out bit;	S4 : out bit;	S5 : out bit;	S6 : out bit;	S7 : out bit;	S8 : out bit;	S9 : out bit;	S10: out bit;	S11: out bit;	S12: out bit;	S13: out bit;	S14: out bit;	S15: out bit);end ADD16;  architecture FUNC of ADD16 isbegin		process(A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,			B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15,CI)		variable A, B: bit_vector(15 downto 0);		variable S: bit_vector(16 downto 0);		variable INT_A, INT_B, INT_S: integer;	begin		-- initial		A := A15 & A14 & A13 & A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & A3 & A2 & A1 & A0;		B := B15 & B14 & B13 & B12 & B11 & B10 & B9 & B8 & B7 & B6 & B5 & B4 & B3 & B2 & B1 & B0;		-- exchange A, B to integer		INT_A := bit_to_int(A);		INT_B := bit_to_int(B);		-- add A + B		INT_S := INT_A + INT_B;		-- add CI		if CI = '1' then 		   INT_S := INT_S + 1;		end if;		-- exchange INT_S to bit_vector		S := int_to_bit(INT_S, 17);		-- output		S0 <= S(0);		S1 <= S(1);		S2 <= S(2);		S3 <= S(3);		S4 <= S(4);		S5 <= S(5);		S6 <= S(6);		S7 <= S(7);		S8 <= S(8);		S9 <= S(9);		S10<= S(10);		S11<= S(11);		S12<= S(12);		S13<= S(13);		S14<= S(14);		S15<= S(15);		CO <= S(16);	end process;end FUNC;----------------------------------------------------- ADD32: --		32-Bit Full Adder with Carry-In & Carry-Out---------------------------------------------------use work.types.all;entity ADD32 is port( 	A0 : in  bit;	A1 : in  bit;	A2 : in  bit;	A3 : in  bit;	A4 : in  bit;	A5 : in  bit;	A6 : in  bit;	A7 : in  bit;	A8 : in  bit;	A9 : in  bit;	A10: in  bit;	A11: in  bit;	A12: in  bit;	A13: in  bit;	A14: in  bit;	A15: in  bit;	A16: in  bit;	A17: in  bit;	A18: in  bit;	A19: in  bit;	A20: in  bit;	A21: in  bit;	A22: in  bit;	A23: in  bit;	A24: in  bit;	A25: in  bit;	A26: in  bit;	A27: in  bit;	A28: in  bit;	A29: in  bit;	A30: in  bit;	A31: in  bit;	B0 : in  bit;	B1 : in  bit;	B2 : in  bit;	B3 : in  bit;	B4 : in  bit;	B5 : in  bit;	B6 : in  bit;	B7 : in  bit;	B8 : in  bit;	B9 : in  bit;	B10: in  bit;	B11: in  bit;	B12: in  bit;	B13: in  bit;	B14: in  bit;	B15: in  bit;	B16: in  bit;	B17: in  bit;	B18: in  bit;	B19: in  bit;	B20: in  bit;	B21: in  bit;	B22: in  bit;	B23: in  bit;	B24: in  bit;	B25: in  bit;	B26: in  bit;	B27: in  bit;	B28: in  bit;	B29: in  bit;	B30: in  bit;	B31: in  bit;	CI : in  bit;	CO : out bit;	S0 : out bit;	S1 : out bit;	S2 : out bit;	S3 : out bit;	S4 : out bit;	S5 : out bit;	S6 : out bit;	S7 : out bit;	S8 : out bit;	S9 : out bit;	S10: out bit;	S11: out bit;	S12: out bit;	S13: out bit;	S14: out bit;	S15: out bit;	S16: out bit;	S17: out bit;	S18: out bit;	S19: out bit;	S20: out bit;	S21: out bit;	S22: out bit;	S23: out bit;	S24: out bit;	S25: out bit;	S26: out bit;	S27: out bit;	S28: out bit;	S29: out bit;	S30: out bit;	S31: out bit);end ADD32;  architecture FUNC of ADD32 isbegin		process(A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,		    A11,A12,A13,A14,A15,A16,A17,A18,A19,A20,	        A21,A22,A23,A24,A25,A25,A27,A28,A29,A30, A31,	        B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,		    B11,B12,B13,B14,B15,B16,B17,B18,B19,B20,	        B21,B22,B23,B24,B25,B25,B27,B28,B29,B30, B31,CI)		variable A, B: bit_vector(31 downto 0);		variable S: bit_vector(31 downto 0);		variable INT_A, INT_B, INT_S: integer;	begin		-- initial		A := A31 & A30 & A29 & A28 & A27 & A26 & A25 & A24 & A23 & A22 & A21 & A20 & A19 & A18 & A17 & A16 & A15 & A14 & A13 & A12 & A11 & A10 & A9 & A8 & A7 & A6 & A5 & A4 & A3 & A2 & A1 & A0;		B := B31 & B30 & B29 & B28 & B27 & B26 & B25 & B24 & B23 & B22 & B21 & B20 & B19 & B18 & B17 & B16 & B15 & B14 & B13 & B12 & B11 & B10 & B9 & B8 & B7 & B6 & B5 & B4 & B3 & B2 & B1 & B0;		-- exchange A, B to integer		INT_A := bit_to_int(A);		INT_B := bit_to_int(B);		-- add A + B		INT_S := INT_A + INT_B;		-- add CI		if CI = '1' then 		   INT_S := INT_S + 1;		end if;		-- exchange INT_S to bit_vector		S := int_to_bit(INT_S, 32);		-- output		S0 <= S(0);		S1 <= S(1);		S2 <= S(2);		S3 <= S(3);		S4 <= S(4);		S5 <= S(5);		S6 <= S(6);		S7 <= S(7);		S8 <= S(8);		S9 <= S(9);		S10<= S(10);		S11<= S(11);		S12<= S(12);		S13<= S(13);		S14<= S(14);		S15<= S(15);		S16<= S(16);		S17<= S(17);		S18<= S(18);		S19<= S(19);		S20<= S(20);		S21<= S(21);		S22<= S(22);		S23<= S(23);		S24<= S(24);		S25<= S(25);		S26<= S(26);		S27<= S(27);		S28<= S(28);		S29<= S(29);		S30<= S(30);		S31<= S(31);		CO <= '0';	end process;end FUNC;----------------------------------------------------------- ADDSUB1: --		1-Bit Adder/Substractor with Carry-In & Carry-Out --	and Fast-Carry Logic---------------------------------------------------------use work.types.all;entity ADDSUB1 is port( 	A  : in  bit;	B  : in  bit;	CI : in  bit;	ADD: in  bit;	CO : out bit;	S  : out bit);end ADDSUB1;  architecture FUNC of ADDSUB1 isbegin	process(A, B, ADD, CI)		variable X, Y: bit;	begin		if ADD = '1' then			-- Adder 			X  := A xor B;			Y  := X and CI;			S  <= X xor CI;			CO <= Y or (A and B);		else						-- Substractor			X  := not (A xor B);				Y  := X and CI;			S  <= X xor CI;			CO <= Y or (A and not(B));		end if;	end process;end FUNC; ---------------------------------------------------- ADSU8H: --		8-Bit Adder/Substractor with Overflow and --	Fast-Carry Logic--------------------------------------------------use work.types.all;entity ADSU8H is port( 	A0 : in  bit;	A1 : in  bit;	A2 : in  bit;	A3 : in  bit;	A4 : in  bit;	A5 : in  bit;	A6 : in  bit;	A7 : in  bit;	B0 : in  bit;	B1 : in  bit;	B2 : in  bit;	B3 : in  bit;	B4 : in  bit;	B5 : in  bit;	B6 : in  bit;	B7 : in  bit;	ADD: in  bit;	OFL: out bit;	S0 : out bit;	S1 : out bit;	S2 : out bit;	S3 : out bit;	S4 : out bit;	S5 : out bit;	S6 : out bit;	S7 : out bit);end ADSU8H;  architecture FUNC of ADSU8H isbegin	process(A0,A1,A2,A3,A4,A5,A6,A7, B0,B1,B2,B3,B4,B5,B6,B7,ADD)		variable A, B: bit_vector(7 downto 0);		variable S: bit_vector(8 downto 0);		variable INT_A, INT_B, INT_S: nat16;	begin		-- initial		A := A7 & A6 & A5 & A4 & A3 & A2 & A1 & A0;		B := B7 & B6 & B5 & B4 & B3 & B2 & B1 & B0;		-- exchange A, B to integer		INT_A := bit_to_int(A);		INT_B := bit_to_int(B);		if ADD = '1' then			-- Adder 			-- A + B			INT_S := INT_A + INT_B;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区影院| 国产成人综合自拍| 香蕉久久夜色精品国产使用方法 | 欧美精品1区2区3区| 欧美视频在线一区| 精品视频1区2区| 欧美日本精品一区二区三区| 欧美日韩精品系列| 7777精品伊人久久久大香线蕉经典版下载| 欧美日韩中文另类| 欧美二区乱c少妇| 欧美一区二区成人| 欧美大片一区二区| 久久欧美中文字幕| 国产女同互慰高潮91漫画| 欧美激情艳妇裸体舞| 欧美韩国日本不卡| 亚洲乱码一区二区三区在线观看| 亚洲欧美区自拍先锋| 亚洲国产精品一区二区www在线| 一区二区不卡在线播放| 午夜精品福利在线| 久久不见久久见中文字幕免费| 韩国欧美国产1区| 国产白丝精品91爽爽久久| 成人免费高清在线| 在线免费观看一区| 欧美一区二区私人影院日本| 精品日韩在线观看| 中文字幕日韩精品一区| 亚洲国产精品久久久久秋霞影院| 麻豆freexxxx性91精品| 国产aⅴ综合色| 欧美三级韩国三级日本一级| 精品日韩成人av| 亚洲人成精品久久久久| 香蕉久久一区二区不卡无毒影院 | 婷婷综合另类小说色区| 久久草av在线| 色婷婷av一区二区三区软件| 91精品国产aⅴ一区二区| 国产人妖乱国产精品人妖| 一区二区免费视频| 激情文学综合插| 色88888久久久久久影院野外| 日韩亚洲欧美一区| 亚洲欧洲在线观看av| 日韩电影免费在线| 99久久综合精品| 日韩免费性生活视频播放| 国产精品乱码人人做人人爱| 视频一区在线播放| av不卡在线观看| 日韩精品一区国产麻豆| 亚洲美女在线国产| 国产一区在线不卡| 欧美麻豆精品久久久久久| 欧美激情一区在线| 日韩精品一级中文字幕精品视频免费观看 | 国产精品小仙女| 欧美日韩精品一区二区三区蜜桃| 国产三级一区二区| 日韩成人精品在线观看| 色综合久久久久久久久久久| 日韩免费看的电影| 亚洲国产成人精品视频| 成人av电影在线观看| 欧美mv日韩mv国产网站| 午夜精品成人在线视频| 99精品一区二区三区| 26uuu久久天堂性欧美| 亚洲成人www| 色综合天天综合色综合av| 久久网站最新地址| 奇米四色…亚洲| 欧美性大战久久久久久久| 国产精品久久久久久久久搜平片| 麻豆久久久久久久| 欧美日韩你懂的| 亚洲综合一二三区| 97久久精品人人做人人爽| 国产女人水真多18毛片18精品视频| 久久精品久久综合| 5月丁香婷婷综合| 亚洲一区二区三区三| 91丝袜美腿高跟国产极品老师| 国产丝袜美腿一区二区三区| 国产麻豆精品视频| 日韩三级视频中文字幕| 日韩国产一二三区| 欧美日韩国产在线观看| 亚洲图片欧美综合| 色猫猫国产区一区二在线视频| 综合久久综合久久| caoporen国产精品视频| 国产精品女同互慰在线看| 国产成人免费视频精品含羞草妖精| 精品少妇一区二区三区日产乱码 | 香蕉成人伊视频在线观看| 欧美中文一区二区三区| 一区二区三区四区激情| 在线观看不卡一区| 亚洲第一主播视频| 欧美高清www午色夜在线视频| 亚洲sss视频在线视频| 欧美日韩极品在线观看一区| 亚洲国产日韩a在线播放| 欧美精品777| 日韩精品一级二级| 日韩欧美黄色影院| 韩国精品一区二区| 久久久99免费| 成人国产在线观看| 亚洲女同ⅹxx女同tv| 在线观看欧美精品| 天天亚洲美女在线视频| 欧美一级黄色片| 韩国v欧美v亚洲v日本v| 欧美国产一区二区在线观看| 91视频国产资源| 亚洲一级电影视频| 91精品在线观看入口| 激情丁香综合五月| 欧美激情资源网| 一本色道**综合亚洲精品蜜桃冫| 亚洲综合在线观看视频| 欧美高清激情brazzers| 国产一区二区三区四区五区入口| 国产精品水嫩水嫩| 欧美亚洲一区二区三区四区| 日韩高清在线观看| 久久综合给合久久狠狠狠97色69| 国产精品99久久久久久宅男| 亚洲同性gay激情无套| 欧美人妖巨大在线| 久久激情五月激情| 成人免费视频在线观看| 欧美日韩电影在线| 26uuuu精品一区二区| 国产精品77777| 亚洲精品日日夜夜| 欧美一级免费观看| 丁香天五香天堂综合| 亚洲夂夂婷婷色拍ww47| 欧美成人精品二区三区99精品| 成人av小说网| 日韩国产欧美一区二区三区| 国产婷婷色一区二区三区| 欧洲av一区二区嗯嗯嗯啊| 精品亚洲aⅴ乱码一区二区三区| 中文字幕欧美日韩一区| 在线不卡一区二区| 波多野结衣欧美| 免费高清视频精品| 国产精品久久久久久福利一牛影视| 欧美夫妻性生活| 成人一级视频在线观看| 日产国产欧美视频一区精品| 国产精品嫩草久久久久| 日韩免费在线观看| 在线亚洲一区二区| 国产一区二区三区精品视频| 亚洲尤物视频在线| 中文字幕欧美激情一区| 欧美一级电影网站| 色婷婷av久久久久久久| 国产精品一二三区在线| 日本不卡一二三| 亚洲麻豆国产自偷在线| 国产欧美一区二区三区沐欲 | 国产欧美一区二区精品仙草咪| 欧美日韩激情在线| 波多野结衣在线一区| 另类中文字幕网| 亚洲第一av色| 亚洲欧美国产高清| 国产精品丝袜在线| 精品国免费一区二区三区| 欧美日韩在线精品一区二区三区激情 | 91免费小视频| 国产成人福利片| 精品在线你懂的| 婷婷久久综合九色综合绿巨人| 亚洲乱码国产乱码精品精可以看| 久久精品男人天堂av| 精品欧美久久久| 欧美男人的天堂一二区| 欧美又粗又大又爽| 91论坛在线播放| 不卡av免费在线观看| 国产成人在线视频免费播放| 激情综合色综合久久| 日本视频中文字幕一区二区三区| 亚洲亚洲人成综合网络| 亚洲美女屁股眼交| 亚洲精品成人少妇| 亚洲精品国产一区二区三区四区在线| 国产精品午夜在线观看| 国产女人水真多18毛片18精品视频| 久久综合五月天婷婷伊人|