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

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

?? alutestersim.vhd

?? ARM7內核,vhdl源碼形式
?? VHD
字號:
--****************************************************************************************************
-- ALU tester for ARM core
-- Designed by Ruslan Lepetenok
-- Modified 23.01.2003
--****************************************************************************************************
library	IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;

use WORK.ARMPackage.all;

entity ALUTesterSim is port (
	                    nRESET     : in std_logic;
						CLK        : in std_logic;
						
						ADataOut   : out  std_logic_vector(31 downto 0); 
						BDataOut   : out  std_logic_vector(31 downto 0); 
						InvA	   : out  std_logic;
						InvB	   : out  std_logic;
						PassA	   : out  std_logic;
						PassB	   : out  std_logic;	-- MOV/MVN operations
						-- Logic operations
						AND_Op	   : out  std_logic;
						ORR_Op	   : out  std_logic;
						EOR_Op	   : out  std_logic;
						-- Tester flag outputs						
						CFlagOut   : out  std_logic;
						CFlagUse   : out  std_logic  -- ADC/SBC/RSC instructions
						     );
end ALUTesterSim;

architecture BEH of ALUTesterSim is

begin
	
TestBench:process
-- Beginning of procedures

procedure RESET is
begin
wait until nRESET='1';	
end RESET;

procedure END_SIM is
begin
report "Simulation completed" severity WARNING;
wait;	
end END_SIM;



-- ADD
procedure ADD(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0')) is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '0';
InvB <=	'0';
PassA <= '0';
PassB <= '0';
AND_Op <= '0';
ORR_Op <= '0';
EOR_Op <= '0';
CFlagOut	<= 'X';
CFlagUse <=	'0';
end ADD;

-- ADC
procedure ADC(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0'); CFlag : std_logic := '0') is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '0';
InvB <=	'0';
PassA <= '0';
PassB <= '0';
AND_Op <= '0';
ORR_Op <= '0';
EOR_Op <= '0';
CFlagOut	<= CFlag;
CFlagUse <=	'1';
end ADC;

-- SUB
procedure SUB(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0')) is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '0';
InvB <=	'1';
PassA <= '0';
PassB <= '0';
AND_Op <= '0';
ORR_Op <= '0';
EOR_Op <= '0';
CFlagOut	<= 'X';
CFlagUse <=	'0';
end SUB;

-- SBC
procedure SBC(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0'); CFlag : std_logic := '0') is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '0';
InvB <=	'1';
PassA <= '0';
PassB <= '0';
AND_Op <= '0';
ORR_Op <= '0';
EOR_Op <= '0';
CFlagOut	<= CFlag;
CFlagUse <=	'1';
end SBC;

-- RSB
procedure RSB(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0')) is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '1';
InvB <=	'0';
PassA <= '0';
PassB <= '0';
AND_Op <= '0';
ORR_Op <= '0';
EOR_Op <= '0';
CFlagOut	<= 'X';
CFlagUse <=	'0';
end RSB;

-- RSC
procedure RSC(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0'); CFlag : std_logic := '0') is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '1';
InvB <=	'0';
PassA <= '0';
PassB <= '0';
AND_Op <= '0';
ORR_Op <= '0';
EOR_Op <= '0';
CFlagOut	<= CFlag;
CFlagUse <=	'1';
end RSC;

-- CMP
procedure CMP(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0')) is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '0';
InvB <=	'1';
PassA <= '0';
PassB <= '0';
AND_Op <= '0';
ORR_Op <= '0';
EOR_Op <= '0';
CFlagOut	<= 'X';
CFlagUse <=	'0';
end CMP;

-- CMN
procedure CMN(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0')) is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '0';
InvB <=	'0';
PassA <= '0';
PassB <= '0';
AND_Op <= '0';
ORR_Op <= '0';
EOR_Op <= '0';
CFlagOut	<= 'X';
CFlagUse <=	'0';
end CMN;

-- !!!!!!!!!!!!!!!!!!

--TST
procedure TST(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0')) is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '0';
InvB <=	'0';
PassA <= '0';
PassB <= '0';
AND_Op <= '1';
ORR_Op <= '0';
EOR_Op <= '0';
CFlagOut <= 'X';
CFlagUse <=	'0';
end TST;

--TEQ
procedure TEQ(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0')) is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '0';
InvB <=	'0';
PassA <= '0';
PassB <= '0';
AND_Op <= '0';
ORR_Op <= '0';
EOR_Op <= '1';
CFlagOut <= 'X';
CFlagUse <=	'0';
end TEQ;


--ANDD
procedure ANDD(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0')) is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '0';
InvB <=	'0';
PassA <= '0';
PassB <= '0';
AND_Op <= '1';
ORR_Op <= '0';
EOR_Op <= '0';
CFlagOut	<= 'X';
CFlagUse <=	'0';
end ANDD;

--EOR
procedure EOR(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0')) is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '0';
InvB <=	'0';
PassA <= '0';
PassB <= '0';
AND_Op <= '0';
ORR_Op <= '0';
EOR_Op <= '1';
CFlagOut <= 'X';
CFlagUse <=	'0';
end EOR;

--ORR
procedure ORR(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0')) is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '0';
InvB <=	'0';
PassA <= '0';
PassB <= '0';
AND_Op <= '0';
ORR_Op <= '1';
EOR_Op <= '0';
CFlagOut <= 'X';
CFlagUse <=	'0';
end ORR;

--BIC
procedure BIC(Rn : std_logic_vector(ADataOut'range) := (others => '0'); Op2 : std_logic_vector(BDataOut'range) := (others => '0')) is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	Rn;
BDataOut <= Op2;
InvA <= '0';
InvB <=	'1';
PassA <= '0';
PassB <= '0';
AND_Op <= '1';
ORR_Op <= '0';
EOR_Op <= '0';
CFlagOut <= 'X';
CFlagUse <=	'0';
end BIC;

--MOV
procedure MOV(Op2 : std_logic_vector(BDataOut'range) := (others => '0')) is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	(others => 'X');
BDataOut <= Op2;
InvA <= '0';
InvB <=	'0';
PassA <= '0';
PassB <= '1';
AND_Op <= '0';
ORR_Op <= '0';
EOR_Op <= '0';
CFlagOut	<= 'X';
CFlagUse <=	'0';
end MOV;

--MVN
procedure MVN(Op2 : std_logic_vector(BDataOut'range) := (others => '0')) is
begin
wait until CLK='1' and CLK'event;
ADataOut <=	(others => 'X');
BDataOut <= Op2;
InvA <= '0';
InvB <=	'1';
PassA <= '0';
PassB <= '1';
AND_Op <= '0';
ORR_Op <= '0';
EOR_Op <= '0';
CFlagOut <= 'X';
CFlagUse <=	'0';
end MVN;

-- End of procedures 

begin

RESET;

--ADD(x"F000_0000",x"F000_0000");
SUB(x"0000_0003",x"0000_0001");
RSB(x"0000_0001",x"0000_0003");

END_SIM;	
	
end process;	




	
	
	
end BEH;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产福利91精品一区二区三区| 日本一区二区成人| 亚洲国产精品久久人人爱| 91天堂素人约啪| 国产精品成人一区二区艾草| 99re在线精品| 亚洲大片免费看| 日韩免费成人网| 国产精品一品二品| 国产精品传媒入口麻豆| 在线观看一区二区视频| 日韩精品电影在线| 精品国产乱码久久久久久1区2区| 看国产成人h片视频| 国产精品午夜在线观看| 在线观看一区二区精品视频| 青青草97国产精品免费观看无弹窗版 | 欧美日韩高清在线播放| 青青草国产成人av片免费| 久久亚洲欧美国产精品乐播| 国产91综合网| 亚洲一区二区三区视频在线播放| 欧美日韩高清一区| 国产传媒久久文化传媒| 亚洲激情综合网| 欧美激情综合五月色丁香| 99精品一区二区| 性做久久久久久久免费看| 欧美v日韩v国产v| 91性感美女视频| 蜜桃av一区二区三区电影| 国产欧美日韩中文久久| 在线精品视频一区二区三四| 蜜桃精品在线观看| 亚洲欧洲中文日韩久久av乱码| 在线播放欧美女士性生活| 国产成人精品一区二区三区四区 | 亚洲视频在线观看三级| 777亚洲妇女| 成人午夜电影久久影院| 午夜不卡在线视频| 中文字幕日韩精品一区| 日韩限制级电影在线观看| 99久久精品国产精品久久| 日本在线观看不卡视频| 一区二区三区成人| 国产目拍亚洲精品99久久精品| 精品视频在线看| 成人午夜电影网站| 国产麻豆欧美日韩一区| 日日嗨av一区二区三区四区| 亚洲三级电影全部在线观看高清| 日韩精品一区二区三区蜜臀| 日本精品视频一区二区三区| 国产成人在线视频网址| 美女视频第一区二区三区免费观看网站| 国产精品免费人成网站| 日韩免费电影网站| 欧美精品一卡二卡| 色94色欧美sute亚洲线路二 | 精品国产一区二区三区四区四 | 久久99精品视频| 午夜精品一区二区三区三上悠亚| 中文字幕一区二区三区四区| 久久久高清一区二区三区| 日韩午夜激情电影| 6080亚洲精品一区二区| 在线观看国产91| 91亚洲国产成人精品一区二三| 成人综合激情网| 高清不卡在线观看| 不卡在线观看av| 成人网页在线观看| 成人av在线资源| 成人美女视频在线看| 国产高清精品久久久久| 国产美女在线精品| 国产成人aaaa| 懂色一区二区三区免费观看 | 日本在线不卡视频| 天堂成人免费av电影一区| 亚洲综合激情另类小说区| 一区二区三区四区乱视频| 一区二区国产视频| 国产精品国产三级国产| 中文字幕日韩欧美一区二区三区| 中文字幕视频一区| 一区二区三区国产豹纹内裤在线 | 欧美挠脚心视频网站| 欧美久久久久免费| 日韩一区二区三区免费观看| 91麻豆精品国产| 欧美α欧美αv大片| 精品精品国产高清一毛片一天堂| 久久综合成人精品亚洲另类欧美| 精品国产1区二区| 国产性色一区二区| 国产精品久久网站| 亚洲一区国产视频| 日韩成人午夜精品| 国产电影一区二区三区| 不卡的av电影| 欧美主播一区二区三区| 欧美一区二区精品| 国产亚洲va综合人人澡精品| 亚洲人成在线观看一区二区| 亚洲成人动漫在线免费观看| 精品一区二区三区在线播放| 国产成人超碰人人澡人人澡| 97精品久久久午夜一区二区三区 | 免费观看日韩av| 国产成人精品免费网站| 欧美在线观看视频一区二区三区| 91精品国产综合久久精品麻豆 | 99精品在线观看视频| 欧美一区二区三区在线电影| 欧美激情一区二区| 水野朝阳av一区二区三区| 国产麻豆91精品| 欧美午夜精品久久久久久超碰| 欧美videossexotv100| 亚洲精品国产精品乱码不99 | 国产成人啪免费观看软件 | 制服丝袜中文字幕亚洲| 欧美tickling挠脚心丨vk| 亚洲色图在线看| 久久精品国产一区二区三| 色综合亚洲欧洲| 精品国产乱码久久久久久夜甘婷婷 | 麻豆91在线观看| 色呦呦一区二区三区| 久久免费看少妇高潮| 午夜视频一区二区| 99在线热播精品免费| 日韩精品一区二区在线观看| 一区二区日韩电影| 成人精品一区二区三区四区 | 国产盗摄视频一区二区三区| 69av一区二区三区| 亚洲欧美日韩国产综合在线| 麻豆国产精品官网| 欧美绝品在线观看成人午夜影视| 国产精品白丝在线| 国产伦精品一区二区三区免费迷 | 国产日韩av一区二区| 奇米色777欧美一区二区| 色av成人天堂桃色av| 国产精品乱码久久久久久| 久久99久久99小草精品免视看| 欧美中文字幕一二三区视频| 亚洲丝袜美腿综合| 国产sm精品调教视频网站| 日韩女优制服丝袜电影| 午夜亚洲福利老司机| 一本大道久久a久久精二百| 中文字幕免费不卡| 国产一区二区在线观看视频| 日韩精品在线网站| 日韩中文字幕av电影| 欧美日韩一级黄| 亚洲小说春色综合另类电影| 色婷婷一区二区三区四区| 亚洲天堂中文字幕| fc2成人免费人成在线观看播放| 久久久欧美精品sm网站| 国产毛片一区二区| 久久久国产午夜精品 | 国产精品进线69影院| 成人免费视频app| 国产嫩草影院久久久久| 国v精品久久久网| 中文字幕免费不卡在线| www.一区二区| 最新久久zyz资源站| 91色|porny| 亚洲综合一区二区精品导航| 日本韩国一区二区| 亚洲国产中文字幕在线视频综合| 91精品1区2区| 午夜视频一区二区三区| 欧美一区二区三区四区久久| 麻豆精品新av中文字幕| 精品国产伦一区二区三区观看方式 | 亚洲国产裸拍裸体视频在线观看乱了 | 三级欧美在线一区| 91精品国产黑色紧身裤美女| 美女视频免费一区| www国产精品av| 成人免费高清视频| 一区二区三区不卡在线观看| 欧美精品高清视频| 国产一区不卡视频| 亚洲日本在线看| 欧美精品久久一区二区三区| 久久99精品一区二区三区| 中文字幕av一区 二区| 97久久久精品综合88久久| 石原莉奈一区二区三区在线观看| 精品国产欧美一区二区| 99久久99久久久精品齐齐|