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

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

?? op_select.v

?? 用verilog寫的很好的cpu core
?? V
字號:
//////////////////////////////////////////////////////////////////////
////                                                              ////
////  8051 instruction select                                     ////
////                                                              ////
////  This file is part of the 8051 cores project                 ////
////  http://www.opencores.org/cores/8051/                        ////
////                                                              ////
////  Description                                                 ////
////   module that stops current program and insert long call     ////
////   in case of interrupt                                       ////
////                                                              ////
////  To Do:                                                      ////
////   nothing                                                    ////
////                                                              ////
////  Author(s):                                                  ////
////      - Simon Teran, simont@opencores.org                     ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
////                                                              ////
//// Copyright (C) 2000 Authors and OPENCORES.ORG                 ////
////                                                              ////
//// This source file may be used and distributed without         ////
//// restriction provided that this copyright statement is not    ////
//// removed from the file and that any derivative work contains  ////
//// the original copyright notice and the associated disclaimer. ////
////                                                              ////
//// This source file is free software; you can redistribute it   ////
//// and/or modify it under the terms of the GNU Lesser General   ////
//// Public License as published by the Free Software Foundation; ////
//// either version 2.1 of the License, or (at your option) any   ////
//// later version.                                               ////
////                                                              ////
//// This source is distributed in the hope that it will be       ////
//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
//// PURPOSE.  See the GNU Lesser General Public License for more ////
//// details.                                                     ////
////                                                              ////
//// You should have received a copy of the GNU Lesser General    ////
//// Public License along with this source; if not, download it   ////
//// from http://www.opencores.org/lgpl.shtml                     ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
//
// ver: 1
//

module op_select (clk, int, , rd, pc, int_v, op1, op2, op3, op1_out, op2_out, op2_direct, op3_out);
// clk          clock
// int          interrupt
// int_v        interrupt vector (low byte)
// op1, op2, op3 input from rom (instruction bytes)
// op1_out      byte 1 output
// op2_out      byte 2 output
// op2_direct   byte 2 output (used for direct addressing)
// op3_out      byte 3 output
// rd           read from rom
// pc           pc input (used for some instructions to calculate next address)


input clk, int, rd; input [7:0] op1, op2, op3, int_v, pc;
output [7:0] op1_out, op3_out;
output op2_out, op2_direct;

reg int_ack;
reg [7:0] op2_out, op2_direct;
reg [7:0] op1_buff, op2_buff, op3_buff;
reg [7:0] op1_o, op2_o, op3_o;

wire [7:0] op2_tmp;

//
// assigning outputs
// case rd = 1'b0 don't change output
assign op1_out = rd ? op1_o : op1_buff;
assign op3_out = rd ? op3_o : op3_buff;
assign op2_tmp = rd ? op2_o : op2_buff;

//
// in case of interrupts
always @(op1 or op2 or op3 or int or int_v) begin
  if (int_ack) begin
    op1_o = `LCALL;
    op2_o = 8'h00;
    op3_o = int_v;
  end else begin
    op1_o = op1;
    op2_o = op2;
    op3_o = op3;
  end
end

//
// remember inputs
always @(posedge clk)
begin
  op1_buff <= #1 op1_o;
  op2_buff <= #1 op2_o;
  op3_buff <= #1 op3_o;
end

//
// remember interrupt
// we don't want to interrupt instruction in the middle of execution
always @(posedge clk)
 if (int) int_ack <= #1 1'b1;
 else int_ack <= #1 1'b0;


//
// in some instructions we need pc instead byte 2
always @(op1_out or op2_tmp or pc)
begin
  casex (op1_out)
    `CJNE_R : op2_out = pc;
    `CJNE_I : op2_out = pc;
    `CJNE_D : op2_out = pc;
    `CJNE_C : op2_out = pc;
    `DJNZ_R : op2_out = pc;
    `DJNZ_D : op2_out = pc;
    `JB : op2_out = pc;
    `JBC: op2_out = pc;
    `JC: op2_out = pc;
    `JNC : op2_out = pc;
    `JNB : op2_out = pc;
    `JNZ : op2_out = pc;
    `JZ : op2_out = pc;
    `SJMP : op2_out = pc;
    `MOVC_PC : op2_out = pc;
    default: op2_out = op2_tmp;
  endcase
end


//
// some instructions write to known addresses
always @(op1_out or op2_tmp)
begin
  if ((op1_out==`MOV_DP) | (op1_out==`INC_DP) | (op1_out==`JMP) | (op1_out==`MOVC_DP))
    op2_direct  = `SFR_DPTR_LO;
  else if ((op1_out==`MUL) | (op1_out == `DIV))
    op2_direct  = `SFR_B;
  else op2_direct  = op2_tmp;
end


endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人深夜视频在线观看| 久久66热re国产| 美女网站色91| 91视频在线观看| www久久精品| 色综合色综合色综合 | www.欧美.com| 日韩网站在线看片你懂的| 国产精品视频在线看| 国产永久精品大片wwwapp| 欧美精品一卡两卡| 日本一区二区三区四区| 久久久精品人体av艺术| 亚洲人成精品久久久久| 免费在线视频一区| 欧美日韩精品久久久| 一区二区三区在线播放| 播五月开心婷婷综合| 久久久噜噜噜久久人人看| 久久www免费人成看片高清| 欧美日韩国产中文| 亚洲福利一区二区| 欧美军同video69gay| 一区二区三区四区激情| 色婷婷av一区二区三区gif| 国产精品乱码一区二区三区软件| 国产成人精品亚洲日本在线桃色| 亚洲国产精品一区二区www| 91色在线porny| 亚洲视频资源在线| 91久久人澡人人添人人爽欧美| 亚洲欧洲国产专区| 成人av在线电影| 最新久久zyz资源站| 色综合久久66| 天天色综合天天| 欧美一二三区在线| 久久99国产精品成人| 久久色中文字幕| 成人精品一区二区三区四区 | 国产精品久久久久影院| 成人激情免费网站| 亚洲精品日日夜夜| 欧美日韩精品一区二区天天拍小说 | 一区二区激情视频| 欧美剧情电影在线观看完整版免费励志电影 | 欧美国产日韩精品免费观看| 成人性色生活片| 一区二区三区在线高清| 欧美一级理论片| 国产河南妇女毛片精品久久久| 中文字幕高清不卡| 在线观看视频一区| 蜜乳av一区二区| 国产精品久久网站| 欧美日韩在线三区| 国产一区二区不卡| 亚洲精品精品亚洲| 日韩精品一区二区三区在线| 国产成人夜色高潮福利影视| 亚洲精品久久久蜜桃| 日韩欧美中文字幕精品| 粉嫩蜜臀av国产精品网站| 亚洲综合丁香婷婷六月香| 日韩一级在线观看| www.日韩大片| 美国十次综合导航| 1024亚洲合集| 精品入口麻豆88视频| 91蜜桃视频在线| 国产精品亚洲一区二区三区在线| 一区二区三区四区五区视频在线观看| 91精品国产综合久久久久久久 | 久久精品噜噜噜成人88aⅴ| 蜜臀99久久精品久久久久久软件 | 成人免费精品视频| 日日摸夜夜添夜夜添国产精品| 国产人伦精品一区二区| 欧美日韩国产免费一区二区| 成人午夜在线视频| 久久精品99国产精品日本| 亚洲精品免费在线观看| 久久久久亚洲蜜桃| 91精品国产色综合久久| 91麻豆免费观看| 国产91精品露脸国语对白| 日韩专区一卡二卡| 亚洲精品自拍动漫在线| 国产日韩av一区| 欧美电影精品一区二区| 欧美午夜在线一二页| 成人免费高清视频| 国产一区二区三区四区在线观看 | 亚洲视频一二三| 国产日韩av一区| 久久亚洲捆绑美女| 欧美www视频| 91精品国产色综合久久久蜜香臀| 91黄色激情网站| 91丨九色丨蝌蚪丨老版| 成人精品亚洲人成在线| 国产成人一区在线| 国产成人在线影院| 国产99久久久精品| 国产精品一线二线三线| 国产精品一区免费在线观看| 激情欧美日韩一区二区| 久久成人综合网| 久久97超碰国产精品超碰| 久久国产尿小便嘘嘘| 免费高清不卡av| 久久精品免费看| 国产在线精品免费av| 国模娜娜一区二区三区| 国产麻豆欧美日韩一区| 成人一区二区三区视频在线观看| 国产精品538一区二区在线| 国产精品亚洲一区二区三区在线 | 国产福利精品一区| 国产成人精品亚洲日本在线桃色| 国产精品一区二区在线观看网站| 国产高清不卡一区二区| 不卡的av中国片| 一本色道**综合亚洲精品蜜桃冫| 91在线国产观看| 欧美日韩一区在线| 欧美高清www午色夜在线视频| 欧美一区二区三区免费视频 | 国产成人三级在线观看| 国产91丝袜在线播放九色| 成人精品国产免费网站| 91麻豆福利精品推荐| 在线观看日韩高清av| 欧美一级淫片007| 国产日韩欧美一区二区三区乱码 | 欧美成人精品1314www| 久久蜜臀精品av| 亚洲女人的天堂| 婷婷六月综合亚洲| 国产精品资源在线看| 成人av午夜电影| 欧美日韩国产在线观看| 精品福利二区三区| 亚洲欧美综合在线精品| 婷婷中文字幕一区三区| 国产69精品一区二区亚洲孕妇 | 精品国产乱码久久久久久蜜臀| 久久精品综合网| 亚洲一区二区三区影院| 久久不见久久见免费视频1| 91原创在线视频| 精品人伦一区二区色婷婷| 综合色天天鬼久久鬼色| 理论电影国产精品| 一本久道中文字幕精品亚洲嫩| 日韩亚洲欧美综合| 亚洲人成电影网站色mp4| 美女精品一区二区| 一本久久综合亚洲鲁鲁五月天 | 91精品国产麻豆| 国产精品福利一区二区三区| 另类专区欧美蜜桃臀第一页| 色屁屁一区二区| 欧美国产一区视频在线观看| 欧美aaaaa成人免费观看视频| 99精品视频在线免费观看| 欧美大片拔萝卜| 亚洲成人av福利| 99麻豆久久久国产精品免费优播| 日韩免费性生活视频播放| 亚洲一区二区av在线| www.在线欧美| 国产欧美视频一区二区| 男人的j进女人的j一区| 欧美午夜一区二区三区免费大片| 国产精品网站在线播放| 国精产品一区一区三区mba桃花| 欧美日韩国产小视频| 综合色中文字幕| www.欧美日韩| 中文字幕制服丝袜成人av| 国产福利一区在线| 久久一二三国产| 激情丁香综合五月| 精品裸体舞一区二区三区| 天天影视色香欲综合网老头| 在线观看区一区二| 一区二区高清免费观看影视大全| 成人开心网精品视频| 国产精品久久久久久久午夜片 | 中文字幕精品一区二区精品绿巨人 | 欧美性生活久久| 亚洲一区二区三区美女| 91免费看`日韩一区二区| 国产精品美女久久久久aⅴ| 成人涩涩免费视频| 国产精品久久久久久久第一福利| 国产99久久久精品| 国产亚洲成av人在线观看导航| 国产精品一区专区|