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

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

?? al8051.vhd

?? 使用VHDL語言編寫的8051IP核
?? VHD
?? 第 1 頁 / 共 5 頁
字號:
		begin	
			pr:= RAM(208);
			pr0:= RAM(224);
			y(0):=pr(7); 
			zo <= pr0;
			zo1 <= l;
			wait for 1 ns;
			for t in 0 to 7 loop
				x(0):= pr0(t);
				x(1):= l(t);
				x(2):= y(t);
				case x is
					when "000" => pr0(t):='0'; y(t+1):='0';
					when "001" => pr0(t):='1'; y(t+1):='0';
					when "010" => pr0(t):='1'; y(t+1):='1';
					when "011" => pr0(t):='0'; y(t+1):='0';
					when "100" => pr0(t):='1'; y(t+1):='1';
					when "101" => pr0(t):='0'; y(t+1):='0';
					when "110" => pr0(t):='0'; y(t+1):='1';
					when "111" => pr0(t):='1'; y(t+1):='1';
				end case;
			end loop;   
			pr(6):=y(4);     
			pr(7):=y(8);
			if y(7) = y(8) then pr(2):= '0';   
									else pr(2):= '1'; 
			end if;
			RAM(208):= pr;
			RAM(224):= pr0;                  
		end procedure subb;			  
		
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- Deriving relative addres
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		procedure rel is
		begin
			proc2 (j,com);
			ff:='1';
			if j > 128 then i:= i+j - 256; 
							else i:=((i+j) mod 2**16); 
			end if; 
			if i < 0 then i:= 65535 + i; 
			end if;    
		end procedure rel;     						
		
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- Implementation DJNZ - instruction
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		procedure djnz (l1: in Integer range 0 to 256 ) is
			variable al1 : Integer range 0 to 266; 
		begin
			al1 := l1;
			dec_r(al1);         
			if RAM(al1) /= "00000000" then
				Proc11; 
				rel;
				ff:='0'; 
			else  Proc11;
			end if;
		end procedure djnz;          
		
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- Implementation CJNE - instruction
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		procedure cjne (l: in Bit_Vector (7 downto 0);
			l1: in Bit_Vector (7 downto 0) 	) is
			variable a,b: Integer range 0 to 256; 
			variable al,al1: Bit_Vector (7 downto 0);  
		begin   
			al1 := l1;
			al := l;  	 -- if fli='0' then
			if al1 /= al then
				Proc11;
				rel;
				ff:='0';
			else  Proc11;
			end if;
		
			proc2(a,al1);
			proc2(b,al);
			if a > b then 
				ram(208):= ram(208) or "10000000";
			else 
				ram(208):= ram(208) and "01111111";
			end if;      
				-- end if; fli:='0';
		end procedure cjne;  

--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- implementation Port buffers p0..p4  and other registers
-- when reading-modification-writing
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		procedure flag is
			variable i:Integer range 0 to 10;
			variable ren: Bit;
			variable ip,cSCON:Bit_Vector (7 downto 0);
		begin
			ip := RAM(k);
			for i in 0 to 7 loop
				if ip(i) = '0' then 
					ttt(i) <= '0';
					tt0(i) <= '0';  
					wait for 0.05 ns;
				else
					ttt(i) <= 'H';
					tt0(i) <= 'Z'; 
					wait for 0.05 ns;
				end if;
			end loop;
			case k is
				when 128    => Port0 <= tt0;  
									BUFP0 := RAM(k);   
									bup0 <= bufp0;
									wait for  0.05 ns;
				when 144    => Port1 <= ttt;                               
										BUFP1 := RAM(k);    
										bup1 <= bufp1;
										wait for  0.05 ns;
				when 160    => Port2 <= ttt;                       
										BUFP2 := RAM(k);   
										bup2 <= bufp2; 
										wait for  0.05 ns;
				when 176    => bufp3 := ram(k);
										pp3 <= bufp3(1 downto 0);  
										Port3 <= ttt;  
										wait for  0.05 ns;                    
										BUFP3 := RAM(k);  
										bup3 <= bufp3; 
										wait for  0.05 ns;
				when 153    => SBUFs <= RAM(153);                       
				--## flag of sending ##
										SDR <= not SDR; 
											SCONs <= RAM(152);
				when 135    =>   SMOD <= RAM(135);
				when 136    =>   TCONs <= RAM(136); 
				when 152    =>	SCONs <= RAM(152); 					  			   
											cSCON:=	RAM(152); 	
											ren:=	 (not cSCON(0)) and cSCON(4);	
					--##  flag of receiving  of edge R1 ##				  
											if	ren='1' then	
														SDR1 <= not SDR1;
											end if;            
				when others =>
			end case;
			pp3<=bufp3(1 downto 0);		   
			wait for  0.05 ns;
		end procedure flag;

		
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- Exchange 4 lower Bits in ACC and RAM cell
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		procedure xchd (l1: in Integer range 0 to 2 ) is
		begin
			proc2(k,RAM(bank+l1));
			pr:=RP(k);--RAM(k);
			pr0:=RAM(224);
			pr1(3 downto 0):= pr(3 downto 0);        
			pr(3 downto 0):= pr0(3 downto 0);
			pr0(3 downto 0):= pr1(3 downto 0);
			RAM(k):= pr;
			RAM(224):=pr0;
			flag;
		end procedure xchd;  


--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--  Output to Ports		and copy BitRAM to RAM
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		procedure Bit_ram is
			variable j,i,k1:Integer range 0 to 300;
			variable ip:Bit_Vector (7 downto 0);
		begin
			i:= 0;
			for k1 in 32 to 47 loop
				RAM(k1):= ADBit(i+7 downto i);
				i := i+8;  
			end loop;
			
			k1:= 128;
			for j in 0 to 15 loop
				RAM(k1):= ADBit(i+7 downto i);
				i := i+8;  
				k1 := k1+8;		 
			end loop;
			
			if flp0 = '1' then
				ip := RAM(128);
				for i in 0 to 7 loop
					if ip(i) = '0' then 
						Port0(i) <= '0'; 
						wait for 0.1 ns;
					else Port0(i) <= 'Z'; 
						wait for 0.1 ns;
					end if;
				end loop;
				k := 128;
				flag;
			end if;
			
			if flp1 = '1' then
				ip := RAM(144);
				for i in 0 to 7 loop
					if ip(i) = '0' then 
						Port1(i) <= '0';
						wait for 0.1 ns;
					else Port1(i) <= 'H';
						wait for 0.1 ns;
					end if;
				end loop;
				k := 144;
				flag;
			end if;
			
			if flp2 = '1' then
				ip := RAM(160);
				for i in 0 to 7 loop
					if ip(i) = '0' then
						Port2(i) <= '0'; 
						wait for 0.1 ns;
					else Port2(i) <= 'H';
						wait for 0.1 ns;
					end if;
				end loop;
				k := 160;
				flag;
			end if;
			
			if flp3 = '1' then
				ip := RAM(176);
				for i in 0 to 7 loop
					if ip(i) = '0' then 
						Port3(i) <= '0'; 
						wait for 0.1 ns;
					else Port3(i) <= 'H'; 
						wait for 0.1 ns;
					end if;
				end loop;
				k := 176;
				flag;
			end if;  
			flp0 <= '0';
			flp1 <= '0'; 
			flp2 <= '0';
			flp3 <= '0';        
		end procedure Bit_ram;		 	 
		
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- Copy Byte memory to Bit memory
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		procedure ram_Bit is
			variable j,i,k:Integer range 0 to 300;
		begin
			i:= 0;
			for k in 32 to 47 loop
				ADBit(i+7 downto i):= RAM(k);
				i := i+8;  
			end loop;
			
			k:= 128;
			for j in 0 to 15 loop
				ADBit(i+7 downto i):=RAM(k);
				i := i+8;  
				k := k+8;
			end loop;
		end procedure ram_Bit;
		
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- Initialization 
-- after RESET
-- Case of I8051-I8031: 
-- inner or outer Data RAM addresses 0...4095
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		procedure prnach is
		begin
				while rst = '1' loop
					fr <= '0';
				 	u1k <= '1';
					wait for 1 ps;
					i:= 0;
					ik:= 0;
					for j in 0 to 255 loop
						RAM(j):= "00000000";
					end loop;
				RAM(129):= "00000111";                -- SP <= 08H top of stack;
				RAM(128):= "11111111";
				RAM(144):= "11111111";
				RAM(160):= "11111111";
				RAM(176):= "11111111";
				BUFP0 := "11111111";   
				bup0 <= bufp0; 
				wait for  0.05 ns;
				BUFP1 := "11111111";  
				bup1 <= bufp1;
				wait for  0.05 ns;
				BUFP2 := "11111111";  
				bup2 <= bufp2; 
				wait for  0.05 ns;
				BUFP3 := "11111111";  
				bup3 <= bufp3; 
				wait for  0.05 ns;
				prp := "11111111";
				pp3<="11";
				wait for  0.05 ns;
				Ram_Bit;
				ttt <= "HHHHHHHH";
				tt0<="ZZZZZZZZ";
				Port0 <= tt0; --"ZZZZZZZZ";
				Port1 <= ttt; --"HHHHHHHH";
				Port2 <= ttt; --"HHHHHHHH";
				Port3 <= ttt; --"HHHHHHHH";
				wait for 0.1 ns;
			end loop;
			
			u1k <= '0';
			wait on u;  
			y <= i;
			wait for 0.1 ns;
			tajm;
			Proc1;
			ik := 0;
		end procedure prnach;    	   
		
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- Timer and other interrupt control
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		procedure obrab (v: in VEC;
			i1: inout Integer range 0 to 7	 )
			is
			variable pr :Bit_Vector (7 downto 0); 
			variable i11 :Integer range 0 to 7;
		begin
			i11:= i1;
			pr := RAM(136);
			i:=si;  
			call; 
			i:= V(i11);			   --interrupt vector 
			 fli:='1';						  --zapret raboty s i
			if pr(0) = '1' then 
				if i11 = 4 then  
					RAM(136) := RAM(136) and "11111101";
					PRP00 <= not PRP00; 
				end if;
			end if;  
			if i11 = 3 then 
					RAM(136) := RAM(136) and "11011111"; 
			end if;
			if pr(2) = '1' then 
				if i11 = 2 then  
					RAM(136) := RAM(136) and "11110111";     
					PRP01 <= not PRP01; 
				end if;
			end if;  
			if i11 = 1 then 
				RAM(136) := RAM(136) and "01111111"; 
			end if;
			i1 := 0; 
			TCONs<= RAM(136);
			wait for 0.01 ns;
			tajm;		  	   
			y <= i;	
			wait on u;
			
			-- ## 1** begin
			TCONs <= RAM(136);
			wait for 0.01 ns;
			tajm;
			y <= i;
			wait for 0.5ns;
			Proc1;
			com1 := "10100101";		--This for invalid instruction test
			TCONs <= RAM(136);
			wait for 0.01 ns;
			-- ## 1** end 
			
			--## interrupt flag set to serve 1 instruction ##
			flint1 := '1'; 
 	end procedure obrab; 
		
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- Interrupt Control
--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		procedure interrup is
			variable pr0,pr1,pr2,pr3:Bit_Vector (7 downto 0);
			variable v : VEC;
			variable j1,i1: Integer range -2 to 7;
			variable m : Bit;
		begin
			pr0 := RAM(136);
			pr1 := "11111111";
			for j1 in 0 to 7 loop
				if Port3(j1) = '0' then 
					pr1(j1) := '0'; 
				end if;
				if Port3(j1) = '1'  or  Port3(j1) =  'H'   then 
					pr1(j1) := '1'; 
				end if;
			end loop;
			
			if pr0(0) = '1' then  pr0(1) := prp0;
									else  pr0(1) := not pr1(2);                   
			end if;  
			
			if pr0(2) = '1' then pr0(3) := prp1; 
									else pr0(3) := not pr1(3);
			end if;                                  
			RAM(136) := pr0 or ram(136) ; 
			V(4) := 3; 
			V(3) := 11;
			V(2) := 19;
			V(1) := 27;
			V(0) := 35;
			pr0:= RAM(184);   -- IP  prioritat reg   B8h
			pr1:= RAM(136);   -- TCON of Timer       88h
			pr2:= RAM(152);   -- SCON of serial  Port  98h
			pr3:= RAM(168);   -- IE interrupt mask reg. A8h
			TCONs <= RAM(136);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品视频在线| 精品一区二区三区免费播放| 久久国产生活片100| 97久久精品人人做人人爽 | 日本欧美在线观看| 色综合久久久网| 日本一区免费视频| 免费观看日韩av| 欧美日韩日本视频| 自拍偷在线精品自拍偷无码专区 | 伊人色综合久久天天| 国产精品资源站在线| 666欧美在线视频| 一区二区三区国产豹纹内裤在线| 国产精品一区二区在线观看不卡| 777a∨成人精品桃花网| 亚洲欧美一区二区三区久本道91 | 视频一区视频二区在线观看| 99精品偷自拍| 国产精品视频免费看| 国产一区二区调教| 日韩一级片在线观看| 亚洲国产精品嫩草影院| 日本电影欧美片| 综合婷婷亚洲小说| 成人免费观看av| 国产农村妇女毛片精品久久麻豆| 久久97超碰国产精品超碰| 欧美精品久久99久久在免费线| 一区二区三区不卡视频在线观看 | 高清国产一区二区三区| 精品少妇一区二区三区在线播放| 日本成人在线电影网| 欧美精品一二三| 午夜婷婷国产麻豆精品| 欧美日韩成人一区二区| 亚洲一区二区三区三| 91久久国产最好的精华液| 亚洲人亚洲人成电影网站色| 波多野结衣亚洲一区| 亚洲国产精品av| av在线一区二区三区| 一区视频在线播放| 色哟哟一区二区| 一区二区欧美国产| 欧美四级电影在线观看| 夜色激情一区二区| 欧美日韩国产精品自在自线| 婷婷一区二区三区| 欧美一区二区三区小说| 六月婷婷色综合| 久久精品一区二区三区av| 粉嫩久久99精品久久久久久夜| 欧美激情综合五月色丁香小说| 处破女av一区二区| 日韩一区在线看| 在线观看日韩电影| 日韩综合在线视频| 日韩精品一区二区三区蜜臀| 国产乱淫av一区二区三区| 欧美激情在线看| 99久久久久免费精品国产 | 国产精品丝袜一区| 色综合一区二区| 亚洲国产视频网站| 欧美一区二区三区在线看| 狠狠v欧美v日韩v亚洲ⅴ| 国产区在线观看成人精品| eeuss鲁一区二区三区| 亚洲黄色免费网站| 欧美一二三四在线| 国产乱理伦片在线观看夜一区 | 欧美一级精品在线| 国产jizzjizz一区二区| 亚洲色图20p| 91精品国产综合久久福利| 久久超碰97中文字幕| 中文字幕精品一区二区精品绿巨人 | 亚洲大片精品永久免费| 日韩丝袜情趣美女图片| 国产福利一区二区三区在线视频| 亚洲欧美综合另类在线卡通| 欧美日韩在线观看一区二区| 久久福利资源站| 亚洲视频精选在线| 欧美一区二区三区人| 国产夫妻精品视频| 亚洲一区二区在线观看视频 | 欧美人与性动xxxx| 国产精品一二三区| 一区二区三区.www| 精品奇米国产一区二区三区| 99国产欧美久久久精品| 日本怡春院一区二区| 国产精品视频一二三| 在线综合+亚洲+欧美中文字幕| 丰满放荡岳乱妇91ww| 三级在线观看一区二区| 国产精品无人区| 欧美男生操女生| caoporm超碰国产精品| 日韩不卡一二三区| 最新热久久免费视频| 日韩精品一区二区三区四区| 色综合久久99| 国产呦精品一区二区三区网站| 亚洲精品一二三| 久久精品在线观看| 欧美精品一卡两卡| 91免费在线看| 国产自产2019最新不卡| 亚洲成人av免费| 最好看的中文字幕久久| 亚洲精品一区二区三区影院| 欧美午夜一区二区| 成人动漫在线一区| 蜜桃视频在线观看一区| 一区二区三区四区不卡在线| 国产亚洲一二三区| 欧美一级在线视频| 欧美最新大片在线看| 成人动漫在线一区| 韩日av一区二区| 日韩福利电影在线观看| 一区二区三区加勒比av| 国产精品福利在线播放| 精品福利一区二区三区| 欧美精品色综合| 欧美写真视频网站| 色综合视频在线观看| 国产91在线观看丝袜| 九九九久久久精品| 天天色综合天天| 亚洲电影你懂得| 亚洲精品日韩专区silk| 欧美激情一区二区三区不卡 | 欧美丝袜丝nylons| 91在线免费看| 成人妖精视频yjsp地址| 国产精品系列在线播放| 久久激情五月婷婷| 日韩在线观看一区二区| 亚洲综合av网| 一区二区三区四区五区视频在线观看 | 成人高清视频免费观看| 国产成人av电影在线播放| 久久99久久久欧美国产| 日韩电影在线免费看| 午夜欧美视频在线观看| 亚洲777理论| 午夜国产精品一区| 婷婷综合另类小说色区| 午夜a成v人精品| 天堂影院一区二区| 三级成人在线视频| 日产欧产美韩系列久久99| 三级久久三级久久| 免费一级欧美片在线观看| 日韩高清在线一区| 久久国产综合精品| 精品午夜一区二区三区在线观看| 另类综合日韩欧美亚洲| 精品一区二区三区免费毛片爱| 激情伊人五月天久久综合| 韩国一区二区三区| 国产精品18久久久久久久久 | 国产一区在线精品| 国产精品69毛片高清亚洲| 国产福利精品导航| 大美女一区二区三区| 97se亚洲国产综合在线| 色婷婷久久99综合精品jk白丝| 91成人免费网站| 这里只有精品视频在线观看| 日韩欧美亚洲一区二区| 久久毛片高清国产| 国产精品三级av在线播放| 中文字幕亚洲精品在线观看| 18成人在线视频| 亚洲午夜久久久久久久久电影网| 午夜伦欧美伦电影理论片| 久久99精品网久久| 国v精品久久久网| 色乱码一区二区三区88| 欧美区一区二区三区| 日韩午夜精品电影| 国产日韩成人精品| 亚洲精品伦理在线| 日日摸夜夜添夜夜添国产精品| 久久精品国产一区二区| 成人av在线资源网| 在线视频国产一区| 日韩一区二区三区精品视频 | 91麻豆精品国产91久久久久| 精品国产成人系列| 综合久久给合久久狠狠狠97色| 亚洲3atv精品一区二区三区| 精品中文字幕一区二区小辣椒| 成人黄色777网| 欧美精品乱码久久久久久|