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

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

?? cpu.v

?? RISC(reduced instruction setcomputer
?? V
?? 第 1 頁 / 共 2 頁
字號:
module cpu (
   clk,
   reset,
   
   paddr,
   pdata,
   portain,
   portbout,
   portcout,
   
   expdin,
   expdout,
   expaddr,
   expread,
   expwrite,
   
   debugw,
   debugpc,
   debuginst,
   debugstatus
);

input		clk;
input		reset;

// Program memory interface
output [10:0]	paddr;
input  [11:0]	pdata;

// Basic I/O Ports
input  [7:0]	portain;
output [7:0]	portbout;
output [7:0]	portcout;

// Expansion Interface
input [7:0]	expdin;		
output [7:0]	expdout;	
output [6:0]	expaddr;	
output		expread;	
output		expwrite;	

// Debugging
output [7:0]	debugw;
output [10:0]	debugpc;
output [11:0]	debuginst;
output [7:0]	debugstatus;

// Register 
reg [10:0]	paddr;
reg [7:0]	portbout;
reg [7:0]	portcout;
reg [7:0]	expdout;
reg [6:0]	expaddr;
reg		expread;
reg		expwrite;

parameter RESET_VECTOR = 11'h7FF;

parameter	INDF_ADDRESS	= 3'h0,
		TMR0_ADDRESS	= 3'h1,
		PCL_ADDRESS	= 3'h2,
		STATUS_ADDRESS	= 3'h3,
		FSR_ADDRESS	= 3'h4,
		PORTA_ADDRESS	= 3'h5,
		PORTB_ADDRESS	= 3'h6,
		PORTC_ADDRESS	= 3'h7;

reg  [11:0]	inst;
reg  [10:0]	pc, pc_in;
reg [ 1:0]	stacklevel;
reg [10:0]	stack1;
reg [10:0]	stack2;

reg [ 7:0]	w;
reg [ 7:0]	status;

reg  [ 7:0]	fsr;

reg  [ 7:0]	tmr0;
reg  [ 7:0]	prescaler;

reg [7:0]	option;

reg [7:0]	trisa;
reg [7:0]	trisb;
reg [7:0]	trisc;

reg [7:0]	porta;	
reg [7:0]	portb;	
reg [7:0]	portc;	


reg 		skip; 

wire [ 7:0]	k;
wire [ 4:0]	fsel;
wire		d;
wire [ 2:0]	b;

reg [6:0]	fileaddr;

// Address Selects
reg		specialsel;
reg		regfilesel;
reg		expsel;

// Instruction Decoder Outputs 

wire [1:0]	aluasel;
wire [1:0]	alubsel;
wire [3:0]	aluop;

wire		zwe;
wire		cwe;

wire		isoption;
wire		istris;

wire		fwe;	
wire		wwe;	

// Bit decoder bits.  
reg [7:0]	bd;	
reg [7:0]	bdec;
wire		bdpol;	

reg [7:0]	regfilein;	
wire [7:0]	regfileout;	
reg		regfilewe;	
reg		regfilere;	

reg  [7:0]	dbus;
reg  [7:0]	sbus;


// ALU Signals
reg  [7:0]	alua;
reg  [7:0]	alub;
wire [7:0]	aluout;
wire		alucout;
wire       	aluz;

// ALU A and B mux selects.
parameter [1:0]	ALUASEL_W	= 2'b00,
		ALUASEL_SBUS	= 2'b01,
		ALUASEL_K	= 2'b10,
		ALUASEL_BD	= 2'b11;
		
parameter [1:0]	ALUBSEL_W	= 2'b00,
		ALUBSEL_SBUS	= 2'b01,
		ALUBSEL_K	= 2'b10,
		ALUBSEL_1	= 2'b11;

// ALU Operation codes.
parameter  [3:0] ALUOP_ADD  = 4'b0000;
parameter  [3:0] ALUOP_SUB  = 4'b1000;
parameter  [3:0] ALUOP_AND  = 4'b0001;
parameter  [3:0] ALUOP_OR   = 4'b0010;
parameter  [3:0] ALUOP_XOR  = 4'b0011;
parameter  [3:0] ALUOP_COM  = 4'b0100;
parameter  [3:0] ALUOP_ROR  = 4'b0101;
parameter  [3:0] ALUOP_ROL  = 4'b0110;
parameter  [3:0] ALUOP_SWAP = 4'b0111;


// Instantiate 
regs  regs (
   .clk		(clk), 
   .reset	(reset),
   .we  	(regfilewe),
   .re		(regfilere),
   .bank	(fileaddr[6:5]), 
   .location	(fileaddr[4:0]),
   .din		(regfilein), 
   .dout	(regfileout)
);

// Instatiate the ALU.
alu alu  (
   .op         (aluop), 
   .a          (alua), 
   .b          (alub),
   .y          (aluout),
   .cin        (status[0]), 
   .cout       (alucout), 
   .zout       (aluz)
);

wire		idecwwe;
wire		idecfwe;
wire		ideczwe;
wire		ideccwe;

idec idec (
   .inst     (inst),
   .aluasel  (aluasel),
   .alubsel  (alubsel),
   .aluop    (aluop),
   .wwe      (idecwwe),
   .fwe      (idecfwe),
   .zwe      (ideczwe),
   .cwe      (ideccwe),
   .bdpol    (bdpol),
   .option   (isoption),
   .tris     (istris)
);

assign wwe = idecwwe;
assign fwe = idecfwe;
assign zwe = ideczwe;
assign cwe = ideccwe;

assign	debugw = w;
assign	debugpc = pc;
assign	debuginst = inst;
assign	debugstatus = status;

// REGISTER FILE Address

always @(fsel or fsr or status) begin
   if (fsel == INDF_ADDRESS) begin
          fileaddr = fsr[6:0];
   end
   else begin
          fileaddr = {status[6:5], fsel};
   end
end
 
always @(regfilesel or fwe)
   regfilewe = regfilesel & fwe;
always @(regfilesel or aluasel or alubsel)
   regfilere = regfilesel & ((aluasel == ALUASEL_SBUS) | (alubsel == ALUBSEL_SBUS));

// Address Decodes

always @(fileaddr) begin
   casex (fileaddr) 

      7'bXX00XXX:
         begin
            specialsel	= 1'b1;
            regfilesel	= 1'b0;
            expsel	= 1'b0;
         end
     
      7'b11111XX: 
         begin
            specialsel	= 1'b0;
            regfilesel	= 1'b0;
            expsel	= 1'b1;
         end

      default:
         begin
            specialsel	= 1'b0;
            regfilesel	= 1'b1;
            expsel	= 1'b0;
         end
   endcase
end

// Expansion Interface

always @(dbus)
   expdout = dbus;
   
always @(fileaddr)
   expaddr = fileaddr;

always @(expsel or aluasel or alubsel)
   expread = expsel & ((aluasel == ALUASEL_SBUS) | (alubsel == ALUBSEL_SBUS));

always @(expsel or fwe)
   expwrite = expsel & fwe;

// SBUS 
always @(fsel or fsr or tmr0 or pc or status
         or porta or portb or portc or regfileout or expdin
         or specialsel or regfilesel or expsel) begin

   if (specialsel) begin
      case (fsel[2:0]) 
         3'h0:	sbus = fsr;
         3'h1:	sbus = tmr0;
         3'h2:	sbus = pc[7:0];
         3'h3:	sbus = status;
         3'h4:	sbus = fsr;
         3'h5:	sbus = porta; 
         3'h6:	sbus = portb; 
         3'h7:	sbus = portc;
      endcase
   end
   else begin

      if (expsel) begin
         sbus = expdin;
      end
      else begin
         if (regfilesel) begin
            sbus = regfileout;
         end
         else begin
            sbus = 8'h00;
         end
      end
   end
end
// DBUS
always @(aluout)
   dbus = aluout;

always @(dbus)
   regfilein = dbus;
   
always @(pc_in)
   paddr = pc_in;

assign k =     inst[7:0];
assign fsel  = inst[4:0];
assign d     = inst[5];
assign b     = inst[7:5];

// Bit Decoder
always @(b) begin
   case (b) 
      3'b000: bdec = 8'b00000001;
      3'b001: bdec = 8'b00000010;
      3'b010: bdec = 8'b00000100;
      3'b011: bdec = 8'b00001000;
      3'b100: bdec = 8'b00010000;
      3'b101: bdec = 8'b00100000;
      3'b110: bdec = 8'b01000000;
      3'b111: bdec = 8'b10000000;
   endcase
end

always @(bdec or bdpol)
   bd = (bdpol) ? ~bdec : bdec;

always @(posedge clk) begin
   if (reset) begin
      inst <= 12'h000;
   end
   else begin
      if (skip == 1'b1) begin
         inst <= 12'b000000000000; 
      end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品一区二区三区电影天堂| 久久精品国产一区二区| 亚洲主播在线播放| 久久99日本精品| 欧美日韩成人在线| 精品国产乱码久久久久久久久| 欧美性生活久久| 欧美一级午夜免费电影| 欧美激情一区二区三区| 亚洲一区二区综合| 国产高清成人在线| 正在播放亚洲一区| 日韩一区二区在线观看| 久久九九全国免费| 夜夜嗨av一区二区三区网页| 美腿丝袜亚洲三区| 日本精品一级二级| 日韩视频一区二区三区| 中文字幕日韩欧美一区二区三区| 日欧美一区二区| 97se亚洲国产综合自在线不卡 | 欧美高清在线精品一区| 亚洲一区二区三区精品在线| 国内久久婷婷综合| 欧美日韩精品高清| 亚洲品质自拍视频网站| 国产精品乱人伦中文| 日本强好片久久久久久aaa| 成人性生交大片免费看中文| 日韩免费看的电影| 亚洲二区视频在线| 本田岬高潮一区二区三区| 日韩视频123| 天堂久久一区二区三区| 一本一道久久a久久精品| 久久亚洲一区二区三区四区| 午夜精品久久久| 99视频精品在线| 国产色婷婷亚洲99精品小说| 免费国产亚洲视频| 欧美日韩精品综合在线| 亚洲男帅同性gay1069| 国产传媒日韩欧美成人| 91精品国产高清一区二区三区| 一区二区三区精品| 国产一级精品在线| 日韩精品专区在线影院重磅| 亚洲免费看黄网站| 色综合天天性综合| ...中文天堂在线一区| 国产传媒一区在线| 久久免费看少妇高潮| 国产专区综合网| 国产丝袜欧美中文另类| 亚洲电影视频在线| 欧美日韩精品福利| 喷水一区二区三区| 欧美一二三四在线| 理论电影国产精品| 欧美精品一区二区三区很污很色的 | 国产成人精品亚洲777人妖| 欧美一二三在线| 国产麻豆视频精品| 国产精品久久久久久久久图文区| 久草热8精品视频在线观看| 日韩视频一区二区三区在线播放 | 7777精品久久久大香线蕉| 国产精品成人免费| 91福利资源站| 日韩精品免费专区| 欧美视频在线观看一区| 亚洲mv在线观看| 日韩欧美成人激情| av亚洲精华国产精华| 中文字幕中文字幕一区| 色综合天天在线| 日本一不卡视频| 国产欧美日韩综合| 99久久精品国产精品久久| 亚洲综合男人的天堂| 欧美一区二区三区的| 午夜精品久久久久久久99水蜜桃| 欧美成人在线直播| youjizz久久| 蜜臀av一区二区在线免费观看| 日韩免费高清视频| 99久久精品国产一区| 日韩成人免费电影| 国产精品久久免费看| 欧美日韩亚洲另类| 成人午夜视频福利| 日韩精品亚洲一区二区三区免费| 国产精品欧美极品| 91精品国产色综合久久不卡电影| 丰满亚洲少妇av| 日本欧美肥老太交大片| 中文字幕欧美日韩一区| 欧美视频日韩视频在线观看| 成人sese在线| 国产成a人亚洲精| 国产另类ts人妖一区二区| 日本麻豆一区二区三区视频| 伊人婷婷欧美激情| 亚洲人成精品久久久久| 久久精品日韩一区二区三区| 日韩视频免费直播| 91精品国产一区二区三区| 在线观看中文字幕不卡| 色哟哟一区二区三区| jizz一区二区| 色综合色狠狠综合色| 成人丝袜高跟foot| 99精品在线观看视频| 成人av影视在线观看| 成人综合婷婷国产精品久久蜜臀| 国产福利精品一区| 国产成人av一区二区三区在线 | 国产成人av电影在线| 国产美女在线观看一区| 久久99久久久欧美国产| 久久91精品久久久久久秒播| 极品少妇一区二区| 国产馆精品极品| 97国产一区二区| 色嗨嗨av一区二区三区| 在线观看免费亚洲| 欧美一区二区精美| 久久婷婷国产综合精品青草| 久久婷婷综合激情| 国产精品卡一卡二卡三| 亚洲人成伊人成综合网小说| 一区二区三区色| 日韩 欧美一区二区三区| 美女视频黄频大全不卡视频在线播放 | 亚洲素人一区二区| 亚洲午夜激情网站| 老司机精品视频导航| 经典一区二区三区| 97se亚洲国产综合自在线不卡| 色婷婷av一区| 日韩美女一区二区三区| 国产情人综合久久777777| 中文字幕一区免费在线观看| 一个色在线综合| 久久66热偷产精品| 99精品视频在线播放观看| 日本韩国欧美一区二区三区| 91麻豆精品91久久久久同性| 久久精品人人做人人综合| 韩国成人在线视频| 91传媒视频在线播放| 日韩一区二区三| 国产精品对白交换视频| 亚洲妇女屁股眼交7| 激情小说欧美图片| 91精彩视频在线| 国产亚洲视频系列| 婷婷久久综合九色综合绿巨人| 国产精品一区三区| 欧美日韩一本到| 中文字幕 久热精品 视频在线| 亚洲福利视频一区二区| 国产精品一区二区x88av| 色中色一区二区| 国产午夜一区二区三区| 亚洲精品菠萝久久久久久久| 久久精品二区亚洲w码| 99精品桃花视频在线观看| 91精品国产综合久久久久久漫画| 国产精品美女一区二区在线观看| 日韩精品成人一区二区三区| 成人app在线观看| 精品国产一区二区三区不卡| 亚洲黄色小视频| 成人自拍视频在线| 精品国产乱码久久久久久牛牛| 一区二区三区高清不卡| 成人涩涩免费视频| 久久网站最新地址| 免费观看成人av| 欧美高清视频www夜色资源网| 1区2区3区欧美| 丰满少妇久久久久久久| 欧美videos大乳护士334| 五月激情丁香一区二区三区| 91免费在线看| 国产精品久久久久9999吃药| 美女国产一区二区三区| 欧美亚洲禁片免费| 亚洲一区视频在线| 国产三级精品三级在线专区| 蜜桃视频在线一区| 欧美精选一区二区| 午夜影院在线观看欧美| 色婷婷精品久久二区二区蜜臀av| 国产精品美女久久久久久久| 国产成人免费av在线| 中文字幕精品三区| 99久久婷婷国产| 亚洲欧美偷拍卡通变态|