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

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

?? mmu_new.v

?? arm9_fpga2_verilog是一個可以綜合的用verilog寫的arm9的ip軟核
?? V
?? 第 1 頁 / 共 3 頁
字號:
`timescale 1ns/10ps`include "pardef"/*****************************************************************************$RCSfile: mmu_new.v,v $$Revision: 1.15 $$Author: kohlere $$Date: 2000/05/11 01:07:57 $$State: Exp $$Source: /home/lefurgy/tmp/ISC-repository/isc/hardware/ARM10/behavioral/pipelined/fpga2/mmu_new.v,v $Description:  Memory Management Unit for the ARM Microprocessor.	Notes:	DMAS 	11 => double word			10 => word			01 => halfword			00 => byte		CHSD/E	11 => last			10 => absent			01 => go			00 => wait		DnWr	0  => data memory write			1  => data memory read*****************************************************************************/module mmu (nGCLK, nRESET,		nWAIT, CHSD, CHSE, id_enbar, BIGEND, LATECANCEL, PASS,		IABORT, DABORT, MMA, MMnWR, DnMREQ, dmiss, dwb, DD, doublehold,		dmiss_addr, imiss_addr, imiss, inst_if, ex_enbar,		ic_read_mmd, dc_read_mmd, drive_mmd, IA, InMREQ, DA,		useMini, iswic, dswic, swic_data, dc_init, ic_init,		istall, mode, MM_New_Line, MM_CE, me_enbar, decomp,		dflush, mispredicted, misp_rec, pc_touched, hold_next_ex,		ptaken_ex, pt, put, eval, if_enbar, stop_me);/*------------------------------------------------------------------------        Ports------------------------------------------------------------------------*/input   [31:0]  imiss_addr;	//Instruction Address of Missinput   [31:0]  dmiss_addr;     //Data Address of Missinput	[31:0]	inst_if;	//Instr to ID stageinput	[31:0]	IA;		//Instruction Address Businput	[31:0]	DA;		//Data Address Businput	[4:0]	mode;		//Processor Modeinput		nGCLK;		//Global Clockinput		nRESET;		//Global Resetinput		LATECANCEL;	//Cancel Coprocessor Instinput		PASS;		//Execute Coprocessor Inst (Cond Passed)input		InMREQ;		//Instruction Requestedinput		DnMREQ;		//Data Requestedinput		if_enbar;	//Instruction Fetch Enableinput		id_enbar;	//Coprocessor Decode Enableinput		ex_enbar;	//Coprocessor Ex Enableinput		me_enbar;	//Coprocessor ME Enable input		imiss;		//Instruction Cache Missinput		doublehold;	//Hold for One Cycleinput		dmiss;		//Data Cache Missinput		dwb;		//Data Write Back Neededinput		dc_init;	//Data Cache Initinginput		ic_init;	//Inst Cache Initinginput           mispredicted;   //Mispredicted a Branch   input           misp_rec;       //Have the IR Savedinput           pc_touched;     //PC Modified in EXinput           hold_next_ex;   //Multiply in EXinput           ptaken_ex;      //Predicted Takeninput           pt;             //Predicted Takeninput           put;            //Predicted Not Takeninput           eval;           //Evaluating a Branchinput		stop_me;	//Stop Executioninout	[63:0]	DD;		//Data Data Busoutput	[31:0]	MMA;		//Main Memory Address Busoutput	[31:0]	swic_data;	//Data Word to Store in I$output	[1:0]	CHSD;		//Coprocessor HandShakeoutput	[1:0]	CHSE;		//Coprocessor HandShakeoutput		nWAIT;		//Memory System Stall Signaloutput		BIGEND;		//Give Processor Big/Little Endianessoutput		DABORT;		//Data Abortoutput		IABORT;		//Instruction Prefetch Abortoutput		MMnWR;		//Not Main Memory Write, Readoutput          MM_New_Line;    //Used for FPGA to Initiate New Transfer  output          MM_CE;          //Enable for Buffer Ramoutput		iswic;		//SWIC Signal to I$ Controlleroutput		dswic;		//SWIC Signal to D$ Controlleroutput		ic_read_mmd;	//To I-Cache Controlleroutput		dc_read_mmd;	//To D-Cache Controlleroutput		drive_mmd;	//Permission to Dcache Controlleroutput		useMini;	//Do Not Store Line in Cacheoutput		istall;		//ICache Stalling Processoroutput		decomp;		//Decompressingoutput          dflush;         //Flush a Line from Data Cache/*------------------------------------------------------------------------        Defines & Parameters------------------------------------------------------------------------*/parameter	LATENCY = 1;			//# of GCLK cyclesparameter	BW = 1;				//words/cycleparameter	PENALTY = LATENCY + 8/BW;	//Total Miss Penalty/*------------------------------------------------------------------------        Signal Declarations------------------------------------------------------------------------*/reg	[31:0]	MMA;			//Main Memory Address Busreg	[31:6]  ia;			//Latched Instruction Addrreg	[31:0]  da;			//Latched Data Addrreg	[3:0]	count;			//Cycle Count for Missreg		swicInD;		//Swic, Hi=>I, Lo=>Dreg		nWAIT;			//Stall Signal to Processorreg		MMnWR;			//Main Memory not Write Readreg             MM_New_Line;            //Start New Transferreg             MM_CE;                  //Enable the Bufferreg		srv_d;			//Serving DCache=1/Icache=0reg		go;			//Servicing Missreg		dwb_1;			//DWB delayed by 1reg             abort_id;               //ABORT now in IDreg             abort_ex;               //ABORT now in EXreg             abort_me;               //ABORT now in MEwire	[63:0]	DD;			//Data Data Buswire	[31:0]	MMD;			//Main Memory Data Buswire	[31:0]	inst_count;		//Number of Completed Instructionswire	[31:0]  cyc_count;		//Number of Pipeline Cycleswire	[31:0]	time_count;		//Number of all Clock Cycleswire	[31:0]	iaccesses;		//Number of I$ Accesseswire	[31:0]	daccesses;		//Number of D$ Accesseswire	[31:0]	imiss_count;		//Number of I$ Misseswire	[31:0]	dmiss_count;		//Number of D$ Misseswire	[31:0]	predicted;		//Number of Predicted Brancheswire	[31:0]	pcorrect;		//Number of Correctly Predicted Brancheswire	[31:0]	spec_iabort;		//Number of Speculative IABORTSwire	[31:0]	spec_dabort;		//Number of Speculative DABORTSwire	[3:0]	penalty;		//Cache Miss Penalty (cycles)wire	[3:0]	latency;		//Main Memory Latencywire	[3:0]	next_count;		//Next Count Valuewire		BIGEND;			//Endiannesswire		DABORT;			//Data Access Abortwire		IABORT;			//Inst Access Abortwire		drive_mmd;		//DCache Controller Drive MMDwire		istall;			//ICache Needs to Stall Pipelinewire		decomp;			//Decompressing/*------------------------------------------------------------------------        Component Instantiations------------------------------------------------------------------------*/counters xcounters (.nGCLK(nGCLK), .nWAIT(nWAIT), .IABORT(IABORT),                        .nRESET(nRESET), .mispredicted(mispredicted),                        .if_enbar(if_enbar), .misp_rec(misp_rec),                        .pc_touched(pc_touched), .id_enbar(id_enbar),                        .ex_enbar(ex_enbar), .me_enbar(me_enbar),                        .hold_next_ex(hold_next_ex), .DABORT(DABORT),                        .finished(inst_finished), .go(go),                        .ptaken_ex(ptaken_ex), .pt(pt),                        .put(put), .count(inst_count), .eval(eval),                        .cyc_count(cyc_count), .imiss(imiss),                        .dmiss(dmiss), .InMREQ(InMREQ), .DnMREQ(DnMREQ),                        .imiss_count(imiss_count), .predicted(predicted),                        .dmiss_count(dmiss_count), .pcorrect(pcorrect),			.iaccesses(iaccesses), .daccesses(daccesses),			.spec_iabort(spec_iabort), .spec_dabort(spec_dabort),			.time_count(time_count));/*------------------------------------------------------------------------        Signal Assignments------------------------------------------------------------------------*/assign next_count = ((count == penalty) | (DABORT & ~abort_id)) 		  ? 4'h0 : count + 1;assign ic_read_mmd = (count > latency) & ~srv_d;assign dc_read_mmd = (count > latency) & srv_d & MMnWR & ~dwb_1;assign penalty = (~MMnWR) ? (4'h7 + latency) : PENALTY;assign latency = LATENCY;assign drive_mmd = (dwb & go & (count < 4'h8));assign istall = imiss & ~nWAIT;/*------------------------------------------------------------------------        Sequential Always Block------------------------------------------------------------------------*///Stall the Processor on a cache miss//synopsys async_set_reset "nRESET"always @(nGCLK or imiss or IABORT or dmiss or doublehold or nRESET or		dc_init or ic_init or stop_me)  begin    if (~nRESET)      nWAIT <= 1'b1;    else if (~nGCLK)      nWAIT <= ~((imiss & ~IABORT) | (dmiss & ~DABORT) | doublehold | 			ic_init | dc_init | stop_me);  end//synopsys async_set_reset "nRESET"always @(posedge nGCLK or negedge nRESET)  begin    if (~nRESET)      swicInD <= 1'b0;    else if (IABORT)      swicInD <= 1'b1;    else if (DABORT)      swicInD <= 1'b0;  end/*------------------------------------------------------------------------        MMA Bus Controller------------------------------------------------------------------------*///Cache Miss Cycle Counter//synopsys async_set_reset "nRESET"always @(posedge nGCLK or negedge nRESET)  begin    if (~nRESET)      count <= #1 4'h0;    else if (~nWAIT & go)      count <= #1 next_count;    else      count <= #1 4'h0;  end//Want to Reset MMnWR after transferred//8 words, thus the < 4'h7//synopsys async_set_reset "nRESET"always @(posedge nGCLK or negedge nRESET)  begin    if (~nRESET)      MMnWR <= #1 1'b1;    else      MMnWR <= #1 ~(dwb & go & (count < 4'h8));  end//synopsys async_set_reset "nRESET"always @(posedge nGCLK or negedge nRESET)  begin    if (~nRESET)      srv_d <= #1 1'b0;    else      srv_d <= #1 (dmiss & (count != penalty)) | dwb;  end//synopsys async_set_reset "nRESET"always @(posedge nGCLK or negedge nRESET)  begin    if (~nRESET)      go <= #1 1'b0;    else      go <= #1 (dmiss & ~DABORT) | (imiss & ~IABORT);  endalways @(srv_d or dmiss_addr or count or imiss_addr)  begin      MMA <= (srv_d) ? {dmiss_addr[31:5],count[2:0],2'h0}                     : {imiss_addr[31:5],count[2:0],2'h0};  endalways @(posedge nGCLK or negedge nRESET)  begin    if (~nRESET)      dwb_1 <= #1 1'b0;    else      dwb_1 <= #1 dwb;  end//Start a Memory to Buffer/Buffer to Memory Transferalways @(go or count or dwb or MMnWR or imiss or dmiss)  begin    if ((go & (count == 4'h0) & MMnWR & ~dwb & (imiss | dmiss)) | 	(go & (count == 4'h8) & dwb & dmiss))      MM_New_Line <= 1'b1;    else      MM_New_Line <= 1'b0;  end//Enable the DPM Bufferalways @(negedge nGCLK or negedge nRESET)  begin    if (~nRESET)      MM_CE <= 1'b0;    else      MM_CE <= go;  end/*------------------------------------------------------------------------        MMU Coprocessor Begins Here (CP #15)------------------------------------------------------------------------*/reg	[31:0]	mmu_ir_id;	//MMU ID Instruction Registerreg	[31:0]	op1_cid;	//Operand #1 (in ID)reg	[31:0]	op1_cex;	//Operand #1 (in EX)reg	[31:0]	op2_cid;	//Operand #2 (in ID)reg	[31:0]	op2_cex;	//Operand #2 (in EX)reg	[31:0]	res_cex;	//Muxed Result of EX Stagereg     [31:0]  res_cme;        //Result (in ME)reg	[31:0]	res_to_wb;	//Muxed Result in ME Stagereg	[31:0]	cr1;		//Reg 1 -- Control Registerreg     [31:0]  cr2;            //Reg 2 --reg     [31:0]  cr3;            //Reg 3 --reg     [31:0]  cr4;            //Reg 4 --reg     [31:0]  cr5;            //Reg 5 --reg     [31:0]  cr6;            //Reg 6 --reg     [31:0]  cr7;            //Reg 7 --reg     [31:0]  cr8;            //Reg 8 --reg     [31:0]  cr9;            //Reg 9 --reg     [31:0]  cr10;           //Reg 10 --reg     [31:0]  cr11;           //Reg 11 --reg     [31:0]  cr12;           //Reg 12 --reg     [31:0]  cr13;           //Reg 13 --reg     [31:0]  cr14;           //Reg 14 --reg     [31:0]  cr15;           //Reg 15 --reg	[31:0]	rf_op1;		//Register Operand #1reg	[31:0]	rf_op2;		//Register Operand #2reg	[31:0]	perf_op1;	//Performance Counter Muxreg	[3:0]	op2_index_cid;	//Op2 Index into Reg Filereg	[3:0]	op1_index_cex;	//Op1 Index in EX reg	[3:0]	CRd_cex;	//Destination Register Indexreg	[3:0]	CRd_cme;	//Destination Register Indexreg	[1:0]	CHSD;		//MMU ID Handshake Signalreg	[1:0]	CHSE;		//MMU EX Handshake Signalreg	[1:0]	next_chsd;	//Input to CHSD Latchreg	[1:0]	next_chse;	//Input to CHSE Latchreg		mem_op_cex;	//LDC/STC Operation (in EX)reg		reg_op_cex;	//MRC/MCR Operation (in EX)reg		data_op_cex;	//CDP Operation (in EX)reg		drive_DD_cex;	//To ARM (in EX)reg		load_use_cex;	//Load Use Bubble reg		swic_cex;	//SWIC in EXreg             flush_cex;      //FLUSH in EXreg		mem_op_cme;	//LDC/STC Operation (in ME)reg		reg_op_cme;	//MRC/MCR Operation (in ME)reg		data_op_cme;	//CDP Operation (in ME)reg		drive_DD_cme;	//To ARM (in ME)wire	[31:0]	to_DD;		//Data to DD;wire	[31:0]	cr0;		//Cr0 -- ID Register (Read Only)wire	[31:0]	swic_data;	//Swic Data to Storewire	[3:0] 	CRn_cid;	//Cop Rnwire    [3:0]   Rd_cid;         //ARM Rdwire    [3:0]   CRm_cid;	//Cop Rmwire	[3:0]	op1_index_cid;	//Op1 Index into Reg Filewire            cop15;          //Coprocessor 15 Selectedwire            N;              //N-Bit of Mem Inst.wire            flush;          //Opcode for Flush Instr.  wire		move_perf;	//Move the Performance Counterswire		flush_cid;	//Flush in ID Stagewire		must_wait_cid;	//ID Stage Blockedwire		must_wait_cex;	//EX Stage Blockedwire		load_use_op1;	//Load Use Interlock wire		mem_op_cid;	//LDC/STC Operation wire		reg_op_cid;	//MRC/MCR Operationwire		data_op_cid;	//CDP Operationwire		swic_cid;	//SWIC Instwire		swic_cme;	//SWIC Instwire		rfw_ena;	//Write to a Regsiterwire		write_cr0;	//Write to Cr0wire            write_cr1;      //Write to Cr1wire            write_cr2;      //Write to Cr2wire            write_cr3;      //Write to Cr3wire            write_cr4;      //Write to Cr4wire            write_cr5;      //Write to Cr5wire            write_cr6;      //Write to Cr6wire            write_cr7;      //Write to Cr7wire            write_cr8;      //Write to Cr8wire            write_cr9;      //Write to Cr9wire            write_cr10;     //Write to Cr10wire            write_cr11;     //Write to Cr11wire            write_cr12;     //Write to Cr12wire            write_cr13;     //Write to Cr13wire            write_cr14;     //Write to Cr14wire            write_cr15;     //Write to Cr15/*------------------------------------------------------------------------        MMU ID Stage------------------------------------------------------------------------*///synopsys async_set_reset "nRESET"always @(posedge nGCLK or negedge nRESET)  begin    if (~nRESET)      mmu_ir_id <= 32'h0;    else if (nWAIT)      begin        if (~id_enbar)          mmu_ir_id <= inst_if;      end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91免费在线看| 日韩午夜电影在线观看| 懂色av一区二区三区蜜臀| 韩国毛片一区二区三区| 激情综合亚洲精品| 久久超碰97中文字幕| 蜜桃视频在线观看一区二区| 日精品一区二区| 青青国产91久久久久久| 麻豆精品一二三| 激情综合一区二区三区| 国产不卡在线一区| 国产91对白在线观看九色| 成人91在线观看| 欧洲亚洲精品在线| 欧美男男青年gay1069videost| 91精品国产一区二区| 欧美大片在线观看| 国产午夜精品福利| 1000精品久久久久久久久| 国产精品国产三级国产三级人妇| 亚洲丝袜自拍清纯另类| 亚洲一区影音先锋| 日韩中文字幕av电影| 久久疯狂做爰流白浆xx| 国产福利一区二区三区视频在线| av中文字幕亚洲| 欧美午夜宅男影院| 精品国产一区二区三区不卡| 国产欧美日本一区视频| 亚洲四区在线观看| 成人开心网精品视频| 99re成人精品视频| 欧美日韩一区二区三区视频| 日韩精品一区二| 国产精品久久久久久久岛一牛影视 | 国产精品综合av一区二区国产馆| 国产成人免费视频| 色哟哟日韩精品| 日韩欧美一级二级| 国产精品久久久久久久久免费樱桃 | 91亚洲精品一区二区乱码| 欧美视频在线一区二区三区| 欧美成人午夜电影| 中文字幕字幕中文在线中不卡视频| 性做久久久久久久久| 国产精品一区二区不卡| 在线观看精品一区| 久久综合色鬼综合色| 亚洲精品美国一| 国产在线精品国自产拍免费| 色婷婷综合久久久久中文一区二区 | 亚洲久草在线视频| 美女脱光内衣内裤视频久久影院| 成人免费毛片嘿嘿连载视频| 欧美日韩aaa| 亚洲天堂2014| 国产乱码精品一区二区三区av | 亚洲蜜臀av乱码久久精品蜜桃| 奇米影视一区二区三区小说| 99精品欧美一区| 精品国产免费一区二区三区四区| 亚洲欧美日韩国产手机在线| 在线观看欧美日本| 久久嫩草精品久久久精品| 亚洲电影欧美电影有声小说| 成人美女视频在线看| 日韩欧美国产三级| 亚洲成人一二三| 99这里只有精品| 久久久精品国产免费观看同学| 午夜精品福利久久久| 91在线视频网址| 久久久www免费人成精品| 五月综合激情网| 色素色在线综合| 国产精品久久久爽爽爽麻豆色哟哟| 免费成人在线网站| 欧美精品久久一区二区三区| 亚洲欧美电影院| 成人h动漫精品一区二区| 久久综合国产精品| 奇米四色…亚洲| 欧美日韩日日摸| 亚洲另类色综合网站| 成人v精品蜜桃久久一区| 久久久激情视频| 国产一区二区三区免费观看| 日韩午夜激情视频| 日韩av午夜在线观看| 欧美性猛交一区二区三区精品| 亚洲欧美综合网| 99久久国产综合精品麻豆| 中文字幕av免费专区久久| 国产精品1区2区| 国产亚洲精品7777| 国产不卡在线视频| 中文字幕成人网| 成人av网站在线观看| 中文字幕av一区 二区| 大美女一区二区三区| 国产欧美精品国产国产专区| 国产乱子伦一区二区三区国色天香| 精品久久久三级丝袜| 精品无码三级在线观看视频| 26uuu亚洲综合色| 黑人巨大精品欧美黑白配亚洲| 久久众筹精品私拍模特| 国产精品一区二区无线| 久久久久97国产精华液好用吗| 国产99精品视频| 欧美国产成人精品| a级高清视频欧美日韩| 亚洲欧美另类久久久精品| 日本精品视频一区二区| 亚洲一区二区三区中文字幕在线| 欧美日韩和欧美的一区二区| 免费欧美日韩国产三级电影| 欧美tickle裸体挠脚心vk| 国产乱码一区二区三区| 国产精品久久久久四虎| 色琪琪一区二区三区亚洲区| 亚洲午夜三级在线| 欧美一区二区三区精品| 狠狠色丁香婷综合久久| 午夜精品久久久久久久久久久| 777色狠狠一区二区三区| 久久成人免费电影| 国产精品免费人成网站| 色婷婷狠狠综合| 蜜臀久久久99精品久久久久久| 国产午夜精品一区二区三区视频 | 岛国精品在线观看| 尤物视频一区二区| 日韩一区二区三区在线观看| 国产原创一区二区| 亚洲欧美国产三级| 欧美不卡一区二区| av不卡在线观看| 免费看日韩a级影片| 欧美国产日本视频| 欧美伊人久久久久久久久影院| 美女国产一区二区三区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 成人性视频网站| 亚洲午夜国产一区99re久久| 精品国产精品一区二区夜夜嗨| 波多野结衣欧美| 免费视频最近日韩| 亚洲视频香蕉人妖| 精品国产乱码久久久久久久久| 99国产麻豆精品| 精品中文字幕一区二区小辣椒| **网站欧美大片在线观看| 91麻豆精品国产91久久久久| 成人午夜免费电影| 日韩福利视频网| 成人免费一区二区三区视频| 日韩三级精品电影久久久| 99国产欧美久久久精品| 看片的网站亚洲| 亚洲高清视频在线| 亚洲国产高清不卡| 日韩欧美国产综合一区 | 久久久精品国产免大香伊| 欧美视频在线一区| 不卡一区中文字幕| 久久er99精品| 婷婷开心激情综合| 亚洲色图视频网| 久久久精品免费观看| 91精品福利在线一区二区三区| 99v久久综合狠狠综合久久| 久久99精品国产.久久久久| 亚洲高清免费在线| 亚洲少妇最新在线视频| 亚洲国产精品一区二区久久恐怖片| 久久精品夜色噜噜亚洲a∨| 欧美一区中文字幕| 欧美日韩一二三| 99久久精品免费精品国产| 国产风韵犹存在线视精品| 日本不卡高清视频| 午夜av一区二区三区| 一区二区三区国产豹纹内裤在线 | 蜜桃一区二区三区在线观看| 亚洲一区二区三区小说| 亚洲欧洲日韩av| 国产人久久人人人人爽| 26uuu久久综合| 日韩西西人体444www| 欧美日本一区二区三区四区 | 国产精品热久久久久夜色精品三区 | 欧美精品电影在线播放| 色综合久久久久| 91理论电影在线观看| 99视频有精品| 91美女片黄在线| 99久久精品费精品国产一区二区| www.99精品|