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

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

?? 18_tech_lib.vhd

?? VHDL的實例加解說,對初學習者用處很大的!
?? VHD
?? 第 1 頁 / 共 4 頁
字號:
------------------------------------------------------ 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;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产免费久久| 91麻豆精品国产无毒不卡在线观看 | 日韩高清中文字幕一区| 欧美另类z0zxhd电影| 亚洲成av人**亚洲成av**| 在线电影一区二区三区| 人禽交欧美网站| 久久精品视频在线看| 成人免费视频国产在线观看| 成人免费视频在线观看| 欧美日韩免费一区二区三区视频| 日韩精品1区2区3区| 久久久久亚洲综合| 91年精品国产| 日韩成人dvd| 国产偷国产偷精品高清尤物 | 欧美性感一区二区三区| 日本不卡一区二区三区| 国产日韩高清在线| 欧日韩精品视频| 狠狠色丁香久久婷婷综合_中| 国产精品人成在线观看免费| 欧美日韩一区二区三区四区| 国产一区二区美女诱惑| 国产精品久久久久婷婷二区次| 欧美综合一区二区三区| 国产一区亚洲一区| 一区二区三区小说| 久久久久综合网| 精品视频在线看| 高清免费成人av| 日本美女一区二区三区视频| 中文字幕人成不卡一区| 日韩一区二区三区免费看| 成人激情图片网| 另类小说视频一区二区| 亚洲免费色视频| 国产三级一区二区| 欧美一区二区三区四区视频| 成人av在线资源网| 久久国产综合精品| 亚洲第一在线综合网站| 国产精品久久久久久一区二区三区 | 伊人夜夜躁av伊人久久| 欧美成人艳星乳罩| 欧美优质美女网站| 成人av动漫在线| 久久精品国产澳门| 午夜伦理一区二区| 亚洲欧美精品午睡沙发| 久久久精品综合| 日韩欧美一区中文| 69成人精品免费视频| 色久综合一二码| 成人深夜福利app| 国产成人免费在线| 国产精品一区免费在线观看| 免费观看在线综合| 日韩影院在线观看| 亚洲一二三四在线观看| 一区二区三区在线观看网站| 亚洲私人黄色宅男| 中文字幕一区二区三区色视频| 久久久久久久久久久99999| 日韩午夜精品电影| 日韩色视频在线观看| 欧美一区二区视频观看视频| 欧美日韩亚洲国产综合| 欧美在线不卡一区| 欧美在线视频全部完| 色噜噜狠狠一区二区三区果冻| 99精品国产视频| 色哟哟国产精品免费观看| av高清不卡在线| 99久久国产免费看| 色爱区综合激月婷婷| 久久久久久久综合| 国产色综合一区| 国产精品久久久久久一区二区三区 | 视频一区免费在线观看| 亚洲高清久久久| 丝袜诱惑亚洲看片| 美日韩一级片在线观看| 国模冰冰炮一区二区| 国产福利一区二区三区视频在线 | 色欧美日韩亚洲| 欧洲精品在线观看| 91精品国产综合久久福利软件| 欧美一区二区三区爱爱| 精品国产91洋老外米糕| 久久蜜桃香蕉精品一区二区三区| 久久久精品免费观看| 亚洲天堂av老司机| 亚洲成人午夜影院| 蜜桃视频在线观看一区| 国产成人精品亚洲777人妖 | 欧美主播一区二区三区| 7777精品伊人久久久大香线蕉的| 日韩免费视频一区| 亚洲国产成人一区二区三区| 综合激情成人伊人| 亚洲va欧美va人人爽| 激情综合色综合久久综合| 国产成人精品影院| 欧美在线影院一区二区| 精品国产乱码久久久久久1区2区 | 99久久久久久99| 欧美日韩一级二级| 久久女同性恋中文字幕| 一区二区三区在线观看国产| 麻豆中文一区二区| 色综合婷婷久久| 欧美一区二区久久| 国产精品国产三级国产aⅴ原创| 亚洲成人自拍一区| 粉嫩在线一区二区三区视频| 欧美视频一区二| 国产亚洲综合av| 五月天亚洲婷婷| 成人综合婷婷国产精品久久免费| 欧美日韩免费电影| 中文幕一区二区三区久久蜜桃| 午夜精品一区二区三区电影天堂| 欧美高清www午色夜在线视频| 国产日韩综合av| 爽爽淫人综合网网站| 99久久精品国产精品久久| 日韩三级在线观看| 亚洲一区免费观看| jvid福利写真一区二区三区| 欧美一级夜夜爽| 国产精品欧美精品| 激情欧美一区二区| 欧美精品丝袜中出| 亚洲免费观看高清在线观看| 国产在线播放一区三区四| 欧美日韩不卡在线| 亚洲欧美视频在线观看视频| 国产精品亚洲а∨天堂免在线| 欧美性生活久久| 亚洲视频 欧洲视频| 精品一区二区精品| 日韩一区二区精品在线观看| 亚洲午夜免费电影| 国产午夜精品一区二区三区视频| 天天影视网天天综合色在线播放| 成人高清视频在线| 欧洲亚洲国产日韩| 国产精品萝li| 国产91综合网| 国产午夜精品一区二区三区嫩草 | 亚洲精品国产无套在线观| 国产成人精品影院| 久久综合九色综合97婷婷女人| 首页国产欧美久久| 欧美伊人精品成人久久综合97 | 欧美精品在线视频| 亚洲福利电影网| 色女孩综合影院| 亚洲人精品午夜| 日本精品裸体写真集在线观看| 国产精品久久久久一区| 成熟亚洲日本毛茸茸凸凹| 久久精品亚洲一区二区三区浴池| 久久99精品久久久| 久久免费美女视频| 国产成人精品亚洲午夜麻豆| 久久久五月婷婷| 成人一区二区在线观看| 国产精品视频看| av中文字幕亚洲| 一区二区三区在线免费播放| 欧美影院一区二区| 亚洲国产精品一区二区www在线| 欧美三级电影网站| 视频一区二区三区中文字幕| 制服视频三区第一页精品| 日韩综合在线视频| 欧美电影免费观看高清完整版在| 韩国v欧美v日本v亚洲v| 久久久激情视频| 91最新地址在线播放| 一区二区三区不卡在线观看| 欧美精品123区| 国产一区二区在线观看免费| 久久精品视频一区二区三区| 北条麻妃一区二区三区| 亚洲精品一二三| 欧美日韩精品一区视频| 精品亚洲成a人| 国产精品久久久久久一区二区三区 | 91久久精品网| 日韩avvvv在线播放| 久久综合久久鬼色中文字| 成人黄色在线视频| 亚洲在线观看免费| 欧美一级理论片| 成人在线一区二区三区| 亚洲在线一区二区三区| 2014亚洲片线观看视频免费|