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

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

?? armcontroller.v

?? arm 7 verilog code used setup soc
?? V
?? 第 1 頁 / 共 3 頁
字號:
////////////////////////////////////////////////////                                              //// ARM Controller Mixed Model                   //        // Revision History                             //             // Version 1.0 - initial hack, 29 Mar 2000      ////    Jon Moeller, Daryl Kowalski               //            // Version 1.01 - included interfaces           ////    Jon Moeller                               //// Version 1.02 - revised LDR/STR,              ////              - MUL, Data Proc. added         ////              - removed @(posedge sysclks)    ////    Jon Moeller & Matt Crum                   //// Version 1.03 - revised DP,signal names       ////              - setup all defines for muxes   //       //              - debugged syntax errors        ////    Jon Moeller & Matt Crum                   //// Version 1.04 - tested dp instructions        ////              - played with LDR/STR           ////    Jon Moeller, Daryl K., Matt Crum          //// Version 1.05 - added exception handling/SWI  ////              - added branches                ////              - removed IDLE, halt/cont loop  ////    Jon Moeller, Daryl K.,                    //// Version 1.06 - added default signals to ENST ////              - added SWP instruction         ////              - removed extra cycle after     ////                cache miss (using else)       ////              - improved handshaking with MEM ////                in IF only.                   ////    Mike Ni, Matt Crum, Jon Moeller, Amit     ////    Pandey, Anthony Doggett, Kevin Duda       //// Version 1.07 - Switch `PSB to `MOV and `MOV  ////                to `PSA                       ////              - Modified DP section :         ////                - Changed ALU_A_Sel to select ////                  RF_A_Bus.                   ////                - Allowed DP instructions to  ////                  execute if S bit set.       ////                - Changed RF_Write_Bus_Sel to ////                  select Alu_Result.          ////              - Removed Default ALU_A_Sel     ////                from ENST                     ////    Kevin Duda, Amit Pandey, Mike Ni          //// Version 1.08 - Removed Default nOPC from     ////                ENST                          ////              - Changed Width of              ////                RF_Bus_Write_Sel to 3 bits    ////              - Moved nSTALL signal to 2nd    ////                cycle on LDR only.            ////              - Set ld_ir2_mult = 0 after     ////                wait loop                     ////              - LDR wait loop modeled after   ////                IF wait loop                  ////    Kevin Duda, Long Truong, Matt Crum, Mike  ////    Ni					//// Version 1.09 - Added a register to hold the	////		  ALU_Result for driving the A	////		  bus in an LDR instruction for ////		  more than 1 cycle		//	//		- This caused the mux which is	////		  controlled by AR_Bus_ALU_Sel	////		  to become a 4 input mux in	////		  the datapath			////		- We also added the enable	////		  signal for this register	////		  to the controller and datapath////    Deanna Perry, Matt Crum                   //// Version 1.10 - Fixed register relative LDR   ////              - Fixed IFetch after LDR by add ////                nOPC = 0 before wait state    ////    Mike Ni                                   //// Version 1.11 - Fixed Store for multiple STR  ////              - Fixed LDR for LDR after STR   ////    Amit Pandey, Mike Ni		        ////                                              //// Version 1.12 - Fixed Multiply instruction    ////     Amit Pandey 			        //// version 1.13 - Added MSR and MRS	        ////     - Vince and Amit 4/27/00		        //// version 1.14 - Added sub8 unit for BL,       ////                exception return address      ////                adjustment.                   ////     - Jon & Daryl K. 4/27/00	                //// Version 1.15 - Added TST, TEQ, CMP, CMN      ////     Mike Ni                                  //// Version 1.16 - Added more selective criteria ////		  to the if statement that      ////		  decodes MSR and MRS to avoid  ////                overlap with other insts.     ////		- Added some visual breaks      ////		  between sections of code      ////     Matt Crum                                //// Version 1.17 - changed CMN to set            ////                Alu_Cntrl to `ADD instead of  ////                `RSB                          ////	Matt Crum			        //// Version 1.18 - added ALU_Hold_Sel in the     //// module interface. This keeps address constant//// during mem requests -- Amit Pandey 4/30/00   ////////////////////////////////////////////////////// Please note all changes in the revision history // with a note of what you modified and who you are// Arm Controller module and input/output definitions// Deanna Perry, 3-29// Included interfaces as defined by djperry// Rearranged, cleaned up some parts// Jon Moeller, 3-30// Revised LDR/STR, added MUL, Data Proc., removed// @(posedge sysclk) on signal assignments.// Made various changes.// Jon Moeller & Matt Crum, 4-2// Added some mux select lines that were left out in LDR/STR// instructions// Amit Pandey 4/4/00// Added branches, SWI,exception handlers, removed// IDLE state and halt/cont loop.// Jon Moeller, Daryl K., 4/6/00// Debugged branch instruction - Amit & Isaac 4/17/00`include "defines.v"`timescale 1ns/100ps // LOCAL DEFINES (temporary)// module declaration for controller of ARM7module armcontroller(A_Addr_Sel,B_Addr_Sel,RF_Addr_Write_Sel,RF_Bus_Write_Sel,RF_PC_Write_Sel,		     RF_Load_Write,RF_Load_Flags,RF_PSR_R_Sel,RF_PSR_W_Sel,RF_PSR_Read,		     SC_Type,SC_Source,SZE_Sel,SZE_Ctrl,SAM_Ctrl,BS_Input_Sel,BS_Enable,BS_Cin,		     AR_Bus_ALU_Sel,AR_Bus_Sel,WD_DBE,WD_Load,nOPC,nCPI,CPA,CPB,nMREQ,nRW,MAS,nWAIT,                     Alu_A_Sel,Alu_Cntrl,Multiplier_Enable,Multiplier_Ready,ir2_bus,ir2_mult_bus,		     ir1_zero,ir2_zero,ld_ir2_mult,nSTALL,BBUS_Src,sysclk,nRESET,ABORT,		     nFIQ,nIRQ,ALU_Hold_Enable,ALU_Hold_Sel,Link_Sel);      // Input/Output Declarations by instantiated module      // Register File   output 		        B_Addr_Sel;   output [2:0] 	     RF_Addr_Write_Sel,RF_Bus_Write_Sel;   output [1:0] 	     A_Addr_Sel;   output [3:0] 	     RF_PC_Write_Sel;   output 		     RF_Load_Write,RF_Load_Flags,RF_PSR_R_Sel,RF_PSR_W_Sel;   input [31:0] 	     RF_PSR_Read;      // Super CPSR   output [4:0]		     SC_Type;   output [3:0]		     SC_Source;      // Zero/Sign Extender   output [1:0] 	     SZE_Sel;   output 		     SZE_Ctrl;	       // Barrel Shifter   output [1:0] 	     SAM_Ctrl;   output 		     BS_Input_Sel;	    output 		     BS_Enable;   output 		     BS_Cin;      // Address Register   output [1:0]		     AR_Bus_ALU_Sel;   output [1:0] 	     AR_Bus_Sel;   output                    ALU_Hold_Enable;   output 		     ALU_Hold_Sel; // 1 := select A_Bus 0 := sel Alu_Result   output                    Link_Sel; // 0 = PC - 4; 1 = PC		           // Write Data Register   output 		     WD_DBE;   output                    WD_Load;      //Coprocessor   output 		     nOPC,nCPI;   input 		     CPA,CPB;      //Memory Interface      output 		     nMREQ;   output 		     nRW;   output [1:0] 	     MAS;   input 		     nWAIT;         //ALU   output [1:0] 	     Alu_A_Sel;   output [4:0] 	     Alu_Cntrl;      //Multiplier   output 		     Multiplier_Enable;   input 		     Multiplier_Ready;         //general   input [31:0] 	     ir2_bus, ir2_mult_bus;   output 		     ir1_zero, ir2_zero, ld_ir2_mult,nSTALL, BBUS_Src;   input 		     sysclk;      // Exception Signals      input 		     nRESET; 	    input 		     ABORT;   input 		     nFIQ;   input 		     nIRQ;      // Reg and Wire declarations by module      // Register File   reg 			        B_Addr_Sel;   reg [2:0] 		     RF_Addr_Write_Sel, RF_Bus_Write_Sel;   reg [1:0] 		     A_Addr_Sel;   reg [3:0] 		     RF_PC_Write_Sel;   reg 			     RF_Load_Write,RF_Load_Flags,RF_PSR_R_Sel,RF_PSR_W_Sel;   wire [31:0] 		     RF_PSR_Read;      // Super CPSR   reg 	[4:0]		     SC_Type;   reg 	[3:0]		     SC_Source;      // Zero/Sign Extender   reg [1:0] 		     SZE_Sel;   reg 			     SZE_Ctrl;      // Barrel Shifter   reg [1:0] 		     SAM_Ctrl;   reg 			     BS_Input_Sel;	    reg 			     BS_Enable;   reg 			     BS_Cin;      // Address Register   reg [1:0]	             AR_Bus_ALU_Sel;   reg [1:0] 		     AR_Bus_Sel;   reg                       ALU_Hold_Enable;   reg 			     ALU_Hold_Sel; 			        reg 			     Link_Sel; 			        // Write Data Register   reg 			     WD_DBE;   reg  		     WD_Load;      //Coprocessor   reg 			     nOPC,nCPI;   wire 		     CPA,CPB;      //Memory Interface      reg 			     nMREQ;   reg 			     nRW;   reg [1:0] 		     MAS;   wire 		     nWAIT;            //ALU   reg [1:0] 		     Alu_A_Sel;   reg [4:0] 		     Alu_Cntrl;      //Multiplier   reg 			     Multiplier_Enable;   wire 		     Multiplier_Ready;         //general   wire [31:0] 		     ir2_bus, ir2_mult_bus;   reg 			     ir1_zero, ir2_zero, ld_ir2_mult, nSTALL, BBUS_Src;      wire 		     sysclk;      // Exception Signals      wire 		     nRESET; 	    wire 		     ABORT;   wire 		     nFIQ;   wire 		     nIRQ;      // internal state    reg [`NUM_STATE_BITS-1:0] present_state;      always      begin	 @(posedge sysclk) enter_new_state(`INIT);	 RF_PC_Write_Sel = `RF_PC_WRITE_SEL_0;                     // mux 0 into PC;	 SC_Type = 5'b10000;                                       // change mode	 SC_Source = `SC_CTRL_SELECT_SOURCE_USR_MODE;              // select USR mode	 RF_Load_Flags = 1;                                        // assert loading of PSR         RF_PSR_W_Sel = 0;					   // select CPSR         RF_PSR_R_Sel = 0;				           // select CPSR         AR_Bus_Sel = 1;     // select PC	 ir1_zero = 1;						   // fill pipeline with NOPs	 ir2_zero = 1;         @(posedge sysclk);	 forever @(sysclk or nRESET or ABORT or nFIQ or nIRQ)	    begin                                                  // handle exceptions	       //if( sysclk==1 && nRESET == 1 && ABORT ==0 && nFIQ == 0 && nIRQ ==0)	       //  enter_new_state(`F1);	       	       if (nRESET == 0)		  begin		     SC_Type = 5'b10000;                           // change mode		     SC_Source = `SC_CTRL_SELECT_SOURCE_SVC_MODE;  // select SVC mode		     RF_Bus_Write_Sel = `RF_BUS_WRITE_SEL_LINK_ADDR; 		     RF_Addr_Write_Sel = `RF_ADDR_WRITE_SEL_R14;    		     RF_Load_Write = 1;                            // save PC into R14_svc		     RF_PC_Write_Sel = `RF_PC_WRITE_SEL_0;         // mux 0 into PC;		  end // if (nRESET == 0)	       else if (ABORT == 1)		  begin		     SC_Type = 5'b10000;                           // change mode		     SC_Source = `SC_CTRL_SELECT_SOURCE_ABT_MODE;  // select ABT mode		     RF_Bus_Write_Sel = `RF_BUS_WRITE_SEL_LINK_ADDR; 		     RF_Addr_Write_Sel = `RF_ADDR_WRITE_SEL_R14;    		     RF_Load_Write = 1;                            // save PC into R14_abt		     RF_PC_Write_Sel = `RF_PC_WRITE_SEL_C;         // mux h'C into PC;		  end // if (ABORT == 1)	       else if (nFIQ == 0)		  begin		     SC_Type = 5'b10000;                           // change mode		     SC_Source = `SC_CTRL_SELECT_SOURCE_FIQ_MODE;  // select FIQ mode		     RF_Bus_Write_Sel = `RF_BUS_WRITE_SEL_LINK_ADDR; 		     RF_Addr_Write_Sel = `RF_ADDR_WRITE_SEL_R14;    		     RF_Load_Write = 1;                            // save PC into R14_fiq		     RF_PC_Write_Sel = `RF_PC_WRITE_SEL_1C;        // mux h'1C into PC;		  end // if (nFIQ == 0)	       else if (nIRQ == 0)		  begin		     SC_Type = 5'b10000;                           // change mode		     SC_Source = `SC_CTRL_SELECT_SOURCE_IRQ_MODE;  // select IRQ mode		     RF_Bus_Write_Sel = `RF_BUS_WRITE_SEL_LINK_ADDR; 		     RF_Addr_Write_Sel = `RF_ADDR_WRITE_SEL_R14;    		     RF_Load_Write = 1;                            // save PC into R14_irq		     RF_PC_Write_Sel = `RF_PC_WRITE_SEL_18;        // mux h'18 into PC;		  end // if (nIRQ == 0)	       else		  begin  		   @(posedge sysclk) enter_new_state(`F1);		     		     		     if (condx(ir2_bus[31:28],RF_PSR_Read)  // condition passed                                           // data processing instruction that writes to PC			 && ((ir2_bus[27:26]==2'b00 && ir2_bus[15:12]==15 && 			      ~(ir2_bus[24:23] == 5'b10)) 			     || (ir2_bus[27:25]==5))) // or branch instruction			//     ~(ir2_bus[27:23] == 5'b00010 && ir2_bus[21:16] == 6'b101001 &&			//     ir2_bus[11:4] == 8'b00000000)) || ir2_bus[27:25]==5))			begin // "B/R15"			   ir1_zero = 1;			end // if (condx(ir2_bus[31:28],RF_PSR_Read)...		     else			begin // "NORMAL"			   ir1_zero = 0;			   ir2_zero = 0;			   nOPC = 0;			   RF_PC_Write_Sel = `RF_PC_WRITE_SEL_PC_PLUS4;		   	   AR_Bus_Sel = 2;			   nMREQ = 0; // request instruction from memory			   BBUS_Src = 0; // select read data reg to drive B bus.			   nRW = 0;			   MAS = 2'b10;			   //@(negedge nWAIT);		           #2;			   AR_Bus_Sel = 1;			   // INSTRUCTION FETCH LOOP			   while(~nWAIT)			      begin			      				 nSTALL = 0;			         RF_PC_Write_Sel = 4'b0110;				 #2;				 if (nWAIT)				    begin				       nMREQ = 1;  // deassertion				       nOPC = 0; // fetching instruction (not data)				       nSTALL = 1; // deassert nSTALL			   	       nOPC = 0;  // fetching instruction (not data)				    end				 else				    @(posedge sysclk) enter_new_state(`FETCH);			      end // while (~nWAIT)			   RF_PC_Write_Sel = `RF_PC_WRITE_SEL_PC_PLUS4;		   	   AR_Bus_Sel = 2;	  			   // ir2 <- ir1 - happens when nSTALL = 1			end // else: !if(condx(ir2_bus[31:28],RF_PSR_Read)...		     // CONDITIONALLY EXECUTE INSTRUCTIONS		     if (condx(ir2_bus[31:28],RF_PSR_Read))			begin//************************************** SWAP **************************************************************//			   if ((ir2_bus[27:23] == 5'b00010) && (ir2_bus[11:4] == 8'b00001001)                               && (ir2_bus[21:20] == 2'b00))  // SWP			      			      begin						 				 // First load the data to be written to mem into Write Data Reg 				 // and also load the Address Reg with address			    			      				 ld_ir2_mult = 1;				 A_Addr_Sel = `RF_ADDR_A_SEL_IR21916;						      				 //ALU_Hold_Enable = 1;				 				 AR_Bus_ALU_Sel = `AR_BUS_ALU_SEL_A_BUS;// selects ALU out				 				 AR_Bus_Sel = 2'b00; // Select AR_Bus_Alu input to Add Reg			      				 B_Addr_Sel = `RF_ADDR_B_SEL_IR230;				 BBUS_Src = 0; // select regfile to drive B bus						      				 WD_Load = 1; 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩亚洲欧美综合| 久久久久久久久久久久电影 | 在线视频一区二区三区| 国产精品18久久久久久久网站| 琪琪一区二区三区| 日本视频一区二区| 久久国产乱子精品免费女| 久久99日本精品| 国内成人精品2018免费看| 经典三级视频一区| 国产成人精品影视| 99精品国产一区二区三区不卡| 成人性生交大片免费| 99久久精品免费看国产免费软件| 成人黄色小视频在线观看| 色悠悠久久综合| 欧美日本一道本在线视频| 欧美精品粉嫩高潮一区二区| 日韩欧美久久久| 久久久91精品国产一区二区精品| 国产精品亲子乱子伦xxxx裸| 亚洲天堂av老司机| 视频一区中文字幕| 激情欧美日韩一区二区| 99精品桃花视频在线观看| 欧美日韩午夜精品| 日韩欧美色综合| 中文字幕av在线一区二区三区| 国产精品久久久久影院亚瑟| 亚洲精品高清在线| 青青草91视频| 99久久婷婷国产精品综合| 91精品国产欧美一区二区| 国产精品嫩草影院com| 亚洲福利一区二区三区| 国产精品中文欧美| 欧美视频一区在线| 久久综合狠狠综合久久综合88| 中文字幕一区二区三区乱码在线| 日韩精品午夜视频| 99精品偷自拍| 国产婷婷一区二区| 日韩有码一区二区三区| 99久久国产综合精品麻豆| 欧美一级一级性生活免费录像| 国产精品蜜臀av| 精品一二线国产| 欧美色偷偷大香| 亚洲欧美影音先锋| 国产高清无密码一区二区三区| 欧美日韩精品欧美日韩精品一| 国产精品三级电影| 国产一区 二区 三区一级| 欧美日本一区二区| 亚洲综合色婷婷| 99麻豆久久久国产精品免费| 久久人人超碰精品| 免费成人av在线| 欧美放荡的少妇| 亚洲成人7777| 欧美亚洲国产一区在线观看网站| 久久久九九九九| 精品一区二区三区免费视频| 日韩欧美自拍偷拍| 日韩成人午夜精品| 欧美日韩国产另类一区| 午夜不卡在线视频| 欧美亚洲自拍偷拍| 亚洲一区二区三区在线看| 一本色道a无线码一区v| 亚洲精品videosex极品| 99re视频精品| 亚洲精品国产第一综合99久久| 色婷婷综合久久久久中文一区二区| 国产色一区二区| 成人在线综合网| 中文字幕国产一区| 不卡电影一区二区三区| 1000精品久久久久久久久| 99久久婷婷国产精品综合| 亚洲激情成人在线| 欧美三日本三级三级在线播放| 亚洲图片欧美色图| 欧美一区三区二区| 久久精品国产**网站演员| 久久蜜臀中文字幕| 波多野结衣中文字幕一区二区三区 | 香蕉av福利精品导航| 欧美日韩国产综合久久| 日日夜夜一区二区| 欧美v日韩v国产v| 成人免费高清视频| 亚洲精品国产无天堂网2021| 在线不卡a资源高清| 久久9热精品视频| 国产精品国产a级| 欧美色精品在线视频| 久久爱www久久做| 中文字幕av一区二区三区高| 日本高清成人免费播放| 日本不卡1234视频| 国产精品情趣视频| 欧美精品在线观看播放| 国产成人免费9x9x人网站视频| 一区二区三区四区激情| 欧美va天堂va视频va在线| 99精品视频在线观看免费| 婷婷成人激情在线网| 欧美经典一区二区| 99综合电影在线视频| 99久久精品一区| 一区二区三区在线视频免费观看| 欧美巨大另类极品videosbest | 久久在线观看免费| 97精品国产露脸对白| 日韩电影免费一区| 18欧美乱大交hd1984| 欧美一级二级三级蜜桃| 日本道免费精品一区二区三区| 天天综合网 天天综合色| 一区视频在线播放| 精品国产百合女同互慰| 欧美亚洲一区二区在线| 国产东北露脸精品视频| 蜜桃在线一区二区三区| 一区二区三区中文字幕电影 | 亚洲视频一区在线| 欧美一级免费大片| 欧洲色大大久久| av电影在线观看一区| 韩国欧美国产1区| 日韩高清在线一区| 亚洲国产精品久久久男人的天堂| 国产精品乱子久久久久| 久久女同互慰一区二区三区| 日韩一级欧美一级| 欧美精品在线视频| 欧美日韩一级二级三级| 在线观看av一区二区| av在线综合网| 北岛玲一区二区三区四区| 国产传媒日韩欧美成人| 精品制服美女久久| 久久精品国产99国产精品| 免费人成精品欧美精品| 蜜臀av国产精品久久久久| 日韩成人精品在线| 免费久久精品视频| 美国欧美日韩国产在线播放| 日本女优在线视频一区二区| 日本aⅴ免费视频一区二区三区 | 国产成人精品一区二| 国产精品一区二区三区四区| 国产精品一区不卡| 国产黑丝在线一区二区三区| 国产精品1024| 成人av高清在线| 99精品久久只有精品| 91视频www| 欧美色精品天天在线观看视频| 色婷婷亚洲婷婷| 色综合天天狠狠| 在线91免费看| 欧美一区二区黄| 久久综合久久综合亚洲| 国产精品丝袜黑色高跟| 亚洲三级在线免费观看| 亚洲不卡一区二区三区| 免费久久99精品国产| 国产乱理伦片在线观看夜一区| 丰满白嫩尤物一区二区| 91丝袜呻吟高潮美腿白嫩在线观看| 色综合久久88色综合天天6 | 成人污污视频在线观看| 91香蕉视频污在线| 7777精品久久久大香线蕉| 欧美酷刑日本凌虐凌虐| 久久久久久综合| 亚洲狠狠丁香婷婷综合久久久| 日韩中文字幕不卡| 丁香桃色午夜亚洲一区二区三区| 91免费看视频| 91精品久久久久久久91蜜桃| 久久久噜噜噜久噜久久综合| 亚洲桃色在线一区| 日本aⅴ亚洲精品中文乱码| 国产成人精品免费网站| 欧美三级电影精品| 久久综合色8888| 亚洲第一会所有码转帖| 国产麻豆精品95视频| 欧美综合色免费| 久久色.com| 婷婷综合另类小说色区| 成人av在线资源| 337p日本欧洲亚洲大胆精品| 一区二区三区在线播| 国产成人综合亚洲网站| 欧美精品久久天天躁| 亚洲图片欧美激情|