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

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

?? it51_core.v

?? 流片過的risc_8051源代碼 verilog語言描述的~
?? V
?? 第 1 頁 / 共 5 頁
字號:
            if (Second_Cycle)
            begin
               nPC = PC_Plus_cInst1 ; 
               J_Skip = 1 ; 
            end 
         end 
         if (cInst_is_MOVC)
         begin
            if (Second_Cycle)
            begin
               if ((cInst[4]) == 1'b0)
               begin
                  nPC = ACC + oPC ; 
               end
               else
               begin
                  if (DPS[0] == 1'b0)
                  begin
                     nPC = DPTR0_Plus_ACC ; 
                  end
                  else
                  begin
                     nPC = DPTR1_Plus_ACC ; 
                  end 
               end 
            end
            else if (Third_Cycle)
            begin
               nPC = oPC ; 
               J_Skip = 1 ; 
            end 
         end 
         if (cInst_is_AJMP | cInst_is_ACALL)
         begin
            if (Second_Cycle)
            begin
               nPC[15:11] = PC[15:11] ; 
               nPC[10:8] = cInst[7:5] ; 
               nPC[7:0] = cInst1 ; 
               J_Skip = 1 ; 
            end 
         end 
         if (cInst_is_LJMP | cInst_is_LCALL)
         begin
            if (Second_Cycle)
            begin
               nPC[15:8] = cInst1 ; 
               nPC[7:0] = ROM_Data ; 
            end 
         end 
         if (cInst_is_JC)
         begin
            if (Next_PSW7 == 1'b1 & Second_Cycle)
            begin
               nPC = PC_Plus_cInst1 ; 
               J_Skip = 1 ; 
            end 
         end 
         if (cInst_is_JNC)
         begin
            if (Next_PSW7 == 1'b0 & Second_Cycle)
            begin
               nPC = PC_Plus_cInst1 ; 
               J_Skip = 1 ; 
            end 
         end 
         if (cInst_is_DIV)
         begin
            if (PCPaused[3:1] == 3'b000 | Div_Rdy == 1'b0)
            begin
               PCPause = 1 ; 
               nPC = PC ; 
            end 
         end 
         if (cInst_is_POP | cInst_is_PUSH)
         begin
            if (First_Cycle & (PCPaused[0]) == 1'b0)
            begin
               PCPause = 1 ; 
               nPC = PC ; 
            end 
         end 
         if (cInst_is_RET | cInst_is_RETI)
         begin
            J_Skip = 1 ; 
            if (First_Cycle & (PCPaused[0]) == 1'b0)
            begin
               PCPause = 1 ; 
               nPC = PC ; 
            end 
         end 
      end
      //- 
   end 

   //--------------------------------------------------------------------------
   // Rst_r_n, RET_r
   always @(negedge Rst_n or posedge Clk)
   begin
      if (Rst_n == 1'b0)
      begin
         Rst_r_n <= 1'b0 ; 
         RET_r <= 1'b0 ; 
      end
      else
      begin
         Rst_r_n <= 1'b1 ; 
         if (Ready)
         begin
            if (cInst_is_RET | cInst_is_RETI)
            begin
               RET_r <= 1'b1 ; 
            end
            else
            begin
               RET_r <= 1'b0 ; 
            end 
         end 
      end 
   end 

   //--------------------------------------------------------------------------
   // Current Instruction
   always @(negedge Rst_n or posedge Clk)
   begin
      if (Rst_n == 1'b0)
      begin
         cInst <= {8{1'b0}} ; // Force NOP at reset.
         cInst1 <= {8{1'b0}} ; 
         cInst2 <= {8{1'b0}} ; 
         cInst_MCode <= 9'b000000001 ; 
         // Current Instructure is
         NOP <= 1 ; 
         cInst_is_RET <= 0 ; 
         cInst_is_RETI <= 0 ; 
         cInst_is_PUSH <= 0 ; 
         cInst_is_POP <= 0 ; 
         cInst_is_ACALL <= 0 ; 
         cInst_is_LCALL <= 0 ; 
         cInst_is_Ri <= 0 ; 
         cInst_is_Rn <= 0 ; 
         cInst_is_A_Write <= 0 ; 
         cInst_is_IW <= 0 ; 
         cInst_is_DW <= 0 ; 
         cInst_is_DR <= 0 ; 
         cInst_is_MOVX_Write <= 0 ; 
         cInst_is_MOVX_Read <= 0 ; 
         cInst_is_DIV <= 0 ; 
         cInst_is_MUL <= 0 ; 
         cInst_is_MOVC <= 0 ; 
         cInst_is_INC_DPTR <= 0 ; 
         cInst_is_JC <= 0 ; 
         cInst_is_JNC <= 0 ; 
         cInst_is_JZ <= 0 ; 
         cInst_is_JNZ <= 0 ; 
         cInst_is_SJMP <= 0 ; 
         cInst_is_AJMP <= 0 ; 
         cInst_is_LJMP <= 0 ; 
         cInst_is_JB <= 0 ; 
         cInst_is_JNB <= 0 ; 
         cInst_is_JBC <= 0 ; 
         cInst_is_CJNE <= 0 ; 
         cInst_is_DJNE <= 0 ; 
         cInst_is_DJNZ <= 0 ; 
         cInst_is_JMP_A_DPTR <= 0 ; 
         cInst_is_x3 <= 0 ; 
         cInst_is_x5 <= 0 ; 
         cInst_is_7x <= 0 ; 
         cInst_is_8x <= 0 ; 
         cInst_is_Ax <= 0 ; 
      end
      else
      begin
         if (~Ready)
         begin
         end
         else if (PCPause & ~cInst_is_PUSH)
         begin
         end
         else if (Rst_r_n == 1'b0 | Inst_Skip | IStart | Ri_Stall | PSW_Stall | RW_Stall)
         begin
            // Skip/Stall/Flush: NOP insertion
            cInst <= {8{1'b0}} ; 
            cInst_MCode <= 9'b000000001 ; 
            // Current Instructure is
            NOP <= 1 ; 
            cInst_is_RET <= 0 ; 
            cInst_is_RETI <= 0 ; 
            cInst_is_PUSH <= 0 ; 
            cInst_is_POP <= 0 ; 
            cInst_is_ACALL <= 0 ; 
            cInst_is_LCALL <= 0 ; 
            cInst_is_Ri <= 0 ; 
            cInst_is_Rn <= 0 ; 
            cInst_is_A_Write <= 0 ; 
            cInst_is_IW <= 0 ; 
            cInst_is_DW <= 0 ; 
            cInst_is_DR <= 0 ; 
            cInst_is_MOVX_Write <= 0 ; 
            cInst_is_MOVX_Read <= 0 ; 
            cInst_is_DIV <= 0 ; 
            cInst_is_MUL <= 0 ; 
            cInst_is_MOVC <= 0 ; 
            cInst_is_INC_DPTR <= 0 ; 
            cInst_is_JC <= 0 ; 
            cInst_is_JNC <= 0 ; 
            cInst_is_JZ <= 0 ; 
            cInst_is_JNZ <= 0 ; 
            cInst_is_SJMP <= 0 ; 
            cInst_is_AJMP <= 0 ; 
            cInst_is_LJMP <= 0 ; 
            cInst_is_JB <= 0 ; 
            cInst_is_JNB <= 0 ; 
            cInst_is_JBC <= 0 ; 
            cInst_is_CJNE <= 0 ; 
            cInst_is_DJNE <= 0 ; 
            cInst_is_DJNZ <= 0 ; 
            cInst_is_JMP_A_DPTR <= 0 ; 
            cInst_is_x3 <= 0 ; 
            cInst_is_x5 <= 0 ; 
            cInst_is_7x <= 0 ; 
            cInst_is_8x <= 0 ; 
            cInst_is_Ax <= 0 ; 
         end
         else
         begin
            if (Last_Cycle)
            begin
               cInst <= ROM_Data ; 
               cInst_MCode <= nInst_MCode ; 
               // Current Instructure is
               NOP <= (ROM_Data == 8'b00000000) ; 
               cInst_is_RET <= (ROM_Data == 8'b00100010) ; 
               cInst_is_RETI <= (ROM_Data == 8'b00110010) ; 
               cInst_is_PUSH <= (ROM_Data == 8'b11000000) ; 
               cInst_is_POP <= (ROM_Data == 8'b11010000) ; 
               cInst_is_ACALL <= (ROM_Data[4:0] == 5'b10001) ; 
               cInst_is_LCALL <= (ROM_Data == 8'b00010010) ; 
               cInst_is_Ri <= ((nInst_MCode[7]) == 1'b1) ; 
               cInst_is_Rn <= ((nInst_MCode[8]) == 1'b1) ; 
               cInst_is_A_Write <= ((nInst_MCode[2]) == 1'b1) ; 
               cInst_is_IW <= ((nInst_MCode[4]) == 1'b1) ; 
               cInst_is_DW <= ((nInst_MCode[6]) == 1'b1) ; 
               cInst_is_DR <= ((nInst_MCode[5]) == 1'b1) ; 
               cInst_is_MOVX_Write <= (ROM_Data[7:2] == 6'b111100 & ROM_Data[1:0] != 2'b01) ; 
               cInst_is_MOVX_Read <= (ROM_Data[7:2] == 6'b111000 & ROM_Data[1:0] != 2'b01) ; 
               cInst_is_DIV <= (ROM_Data == 8'b10000100) ; 
               cInst_is_MUL <= (ROM_Data == 8'b10100100) ; 
               cInst_is_MOVC <= (ROM_Data[7:5] == 3'b100 & ROM_Data[3:0] == 4'b0011) ; 
               cInst_is_INC_DPTR <= (ROM_Data == 8'b10100011) ; 
               cInst_is_JC <= (ROM_Data == 8'b01000000) ; 
               cInst_is_JNC <= (ROM_Data == 8'b01010000) ; 
               cInst_is_JZ <= (ROM_Data == 8'b01100000) ; 
               cInst_is_JNZ <= (ROM_Data == 8'b01110000) ; 
               cInst_is_SJMP <= (ROM_Data == 8'b10000000) ; 
               cInst_is_AJMP <= (ROM_Data[4:0] == 5'b00001) ; 
               cInst_is_LJMP <= (ROM_Data == 8'b00000010) ; 
               cInst_is_JB <= (ROM_Data == 8'b00100000) ; 
               cInst_is_JNB <= (ROM_Data == 8'b00110000) ; 
               cInst_is_JBC <= (ROM_Data == 8'b00010000) ; 
               cInst_is_CJNE <= (ROM_Data[7:4] == 4'b1011 & ROM_Data[3:2] != 2'b00) ; 
               cInst_is_DJNZ <= (ROM_Data[7:3] == 5'b11011) ; 
               cInst_is_DJNE <= (ROM_Data == 8'b11010101) ; 
               cInst_is_JMP_A_DPTR <= (ROM_Data == 8'b01110011) ; 
               cInst_is_x3 <= (ROM_Data[3:0] == 4'b0011) ; 
               cInst_is_x5 <= (ROM_Data[3:0] == 4'b0101) ; 
               cInst_is_7x <= (ROM_Data[7:4] == 4'b0111) ; 
               cInst_is_8x <= (ROM_Data[7:4] == 4'b1000) ; 
               cInst_is_Ax <= (ROM_Data[7:4] == 4'b1010) ; 
            end
            else if (First_Cycle)
            begin
               cInst1 <= ROM_Data ; 
            end
            else if (Second_Cycle)
            begin
               cInst2 <= ROM_Data ; 
            end 
         end 
      end 
   end 

   //--------------------------------------------------------------------------
   // Bit_Pattern
   always @(negedge Rst_n or posedge Clk)
   begin
      if (Rst_n == 1'b0)
      begin
         Bit_Pattern <= 8'b00000000 ; 
      end
      else
      begin
         if (First_Cycle)
         begin
            //case (nInst_Rn_Index)
            case (ROM_Data[2:0])
               3'b000 :
                        begin
                           Bit_Pattern <= 8'b00000001 ; 
                        end
               3'b001 :
                        begin
                           Bit_Pattern <= 8'b00000010 ; 
                        end
               3'b010 :
                        begin
                           Bit_Pattern <= 8'b00000100 ; 
                        end
               3'b011 :
                        begin
                           Bit_Pattern <= 8'b00001000 ; 
                        end
               3'b100 :
                        begin
                           Bit_Pattern <= 8'b00010000 ; 
                        end
               3'b101 :
                        begin
                           Bit_Pattern <= 8'b00100000 ; 
                        end
               3'b110 :
                        begin
                           Bit_Pattern <= 8'b01000000 ; 
                        end
               default :
                        begin
                           Bit_Pattern <= 8'b10000000 ; 
                        end
            endcase 
         end 
      end 
   end 
   //--------------------------------------------------------------------------
   // Stall
   assign Inst_Skip = (RET_r == 1'b1) | J_Skip ;
   assign Ri_Stall = (~NOP & Last_Cycle & ~PCPause & nInst_is_Ri & cInst_is_DW) ? 1 : 0 ;
   assign PSW_Stall = ((~NOP & Last_Cycle & cInst_is_DW & (nInst_is_Ri | nInst_is_Rn) & Int_AddrA == 8'b11010000) | (cInst_is_DIV & ~PCPause)) ? 1 : 0 ;
   //not PCPause and
   assign RW_Stall = (~NOP & Last_Cycle & ((Mem_Wr_p == 1'b1 & (nInst_is_Ri | nInst_is_RET | nInst_is_RETI | nInst_is_DR)) | (SFR_Wr_p == 1'b1 & nInst_is_DR) | cInst_is_MUL)) ? 1 : 0 ;
   //--------------------------------------------------------------------------
   // SFR Access
   assign SFR_Rd = SFR_Rd_i ;
   assign SFR_Wr = SFR_Wr_i ;
   assign SFR_Addr = (SFR_Wr_i == 1'b1) ? Int_AddrA_r[6:0] : Int_AddrA[6:0] ;
   assign SFR_WData = Res_Bus ;

   always @(Int_AddrA or IP or DPTR0 or DPTR1 or DPS or PSW or PSW0 or ACC or 
            EIP or B or SP or SFR_RData_Ext or CKCON or MPAGE)
   begin
      case (Int_AddrA)
         8'b10111000 :
                  begin
                     SFR_RData = IP ; 
                  end
         8'b10000010 :
                  begin
                     //SFR_RData = DPL0 ; // 82
                     SFR_RData = DPTR0[7:0] ; // 82
                  end
         8'b10000011 :
                  begin
                     //SFR_RData = DPH0 ; // 83
                     SFR_RData = DPTR0[15:8] ; // 83
                  end
         8'b10000100 :
                  begin
                     //SFR_RData = DPL1 ; // 84
                     SFR_RData = DPTR1[7:0] ; // 84
                  end
         8'b10000101 :
                  begin
                     //SFR_RData = DPH1 ; // 85
                     SFR_RData = DPTR1[15:8] ; // 85
                  end
         8'b10000110 :
                  begin
                     SFR_RData = DPS ; // 86
                  end
         8'b10001110 :
                  begin
                     SFR_RData = CKCON ; // 8E
                  end
         8'b10010010 :
                  begin
                     SFR_RData = MPAGE ; // 92
                  end
         8'b11010000 :
                  begin
                     SFR_RData = {PSW, PSW0} ; 
                  end
         8'b11100000 :
                  begin
                     SFR_RData = ACC ; 
                  end
         8'b11110000 :
                  begin
                     SFR_RData = B ; 
                  end
         8'b10000001 :
                  begin
                     //SFR_RData = std_logic_vector(SP) ; 
                     SFR_RData = SP ; 
                  end
         8'b11111000 :
                  begin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜视频在线| 最近日韩中文字幕| 亚洲精品视频在线看| 日韩在线卡一卡二| 成人性生交大片免费看在线播放 | 亚洲一区二区三区激情| 久久成人av少妇免费| 色婷婷久久一区二区三区麻豆| 久久综合色播五月| 亚洲美女少妇撒尿| 国产mv日韩mv欧美| 精品三级在线看| 天使萌一区二区三区免费观看| eeuss鲁一区二区三区| 精品国偷自产国产一区| 日韩黄色在线观看| 欧美特级限制片免费在线观看| 中文字幕制服丝袜一区二区三区| 国产精品资源在线观看| 日韩精品一区二区三区视频播放| 午夜精品123| 欧美三级在线播放| 午夜久久久影院| 欧美视频一区二区三区| 一区二区三区日韩精品| 99麻豆久久久国产精品免费| 中文字幕精品一区二区精品绿巨人 | 成人av电影在线网| 国产偷国产偷亚洲高清人白洁| 激情综合网av| 欧美精品一区二区三区一线天视频 | 一本到高清视频免费精品| 国产精品久久久久久久久图文区 | 九九精品一区二区| 日韩欧美激情四射| 国产综合色精品一区二区三区| 日韩免费视频一区二区| 麻豆精品久久精品色综合| 91精品在线观看入口| 三级欧美在线一区| 日韩视频免费观看高清完整版在线观看 | 亚洲视频综合在线| 色乱码一区二区三区88| 一区二区三区免费在线观看| 欧洲色大大久久| 亚洲线精品一区二区三区八戒| 欧美日韩亚洲综合一区二区三区| 日韩av一二三| 国产三级精品三级在线专区| av在线不卡网| 亚洲高清不卡在线观看| 日韩欧美一区二区视频| 国产精品123区| 亚洲欧美日韩一区二区三区在线观看| 日本乱人伦一区| 日韩国产一二三区| 国产午夜精品一区二区| 色综合色狠狠天天综合色| 午夜精品一区二区三区免费视频| 日韩三级视频在线观看| 国产成人激情av| 亚洲精品精品亚洲| 日韩欧美一区二区久久婷婷| 国产精品亚洲午夜一区二区三区 | 一区二区三区四区视频精品免费| 欧美日韩1234| 国产成人免费在线| 亚洲图片自拍偷拍| 久久久精品蜜桃| 欧美日韩三级视频| 懂色av中文一区二区三区 | 国产精品欧美经典| 欧美日韩精品欧美日韩精品一综合| 精品一区精品二区高清| 亚洲欧美激情在线| 欧美成人在线直播| 欧洲av在线精品| 国产福利电影一区二区三区| 亚洲国产美女搞黄色| 久久精品人人做人人综合| 欧美日韩午夜在线| 97se亚洲国产综合自在线| 美洲天堂一区二卡三卡四卡视频 | 美国毛片一区二区三区| 国产精品毛片无遮挡高清| 91麻豆精品国产91久久久久久| 成人美女视频在线观看| 久久er精品视频| 亚洲超碰精品一区二区| 成人免费在线视频| 久久精品亚洲麻豆av一区二区| 欧美日韩另类国产亚洲欧美一级| 不卡电影一区二区三区| 麻豆91在线播放免费| 亚洲一区二区三区国产| 国产精品久久久久影院色老大 | 国产精品123| 麻豆精品一区二区av白丝在线| 亚洲六月丁香色婷婷综合久久| 国产亚洲自拍一区| 亚洲精品在线电影| 欧美成人官网二区| 欧美老年两性高潮| 欧美三级韩国三级日本一级| 色综合色综合色综合色综合色综合| 成人性视频免费网站| 国产成人av一区二区| 韩国成人精品a∨在线观看| 美女网站色91| 国内成人自拍视频| 国产老女人精品毛片久久| 黄色小说综合网站| 九一九一国产精品| 国产精品自拍在线| 国产毛片精品一区| 国产一区二区成人久久免费影院| 国产一区二区免费看| 国产乱码字幕精品高清av| 国产成人精品网址| 99国产精品久| 日本精品免费观看高清观看| 精品视频在线免费看| 欧美色爱综合网| 日韩一级片在线观看| 精品国产电影一区二区| 久久久久亚洲蜜桃| 国产精品视频一二三区| 亚洲人精品一区| 亚洲狠狠爱一区二区三区| 欧美aaaaaa午夜精品| 久久成人久久鬼色| 国产999精品久久久久久绿帽| 成人丝袜视频网| 欧美最猛性xxxxx直播| 欧美一区二区三区视频在线| 精品免费日韩av| 中文字幕一区二| 亚洲午夜一区二区| 激情成人综合网| bt欧美亚洲午夜电影天堂| 欧美色中文字幕| 日韩精品中文字幕在线一区| 精品国产乱码久久久久久闺蜜| 国产色91在线| 亚洲综合精品久久| 精品一区二区久久| 91在线视频播放地址| 在线综合+亚洲+欧美中文字幕| 久久天天做天天爱综合色| 日韩美女视频19| 久久99最新地址| 91蜜桃在线免费视频| 欧美一级黄色录像| 综合分类小说区另类春色亚洲小说欧美| 一区二区三区高清| 国产麻豆精品在线| 美女任你摸久久| 91天堂素人约啪| 精品久久久久99| 亚洲激情图片qvod| 国产另类ts人妖一区二区| 欧美日韩高清一区| 1000精品久久久久久久久| 日韩高清在线观看| 91麻豆自制传媒国产之光| 精品av久久707| 亚洲v中文字幕| 不卡av在线免费观看| 精品乱人伦小说| 亚洲va在线va天堂| 99re视频精品| 国产亚洲精品中文字幕| 轻轻草成人在线| 日本精品免费观看高清观看| 日本一区二区三区久久久久久久久不 | 国产精品国产三级国产aⅴ无密码| 日韩精品成人一区二区在线| 色婷婷精品久久二区二区蜜臂av| 久久色.com| 美女一区二区久久| 在线播放视频一区| 亚洲一区二区三区在线看| 成人av动漫网站| 国产亚洲综合在线| 国产精品456| 久久久久国产一区二区三区四区| 奇米精品一区二区三区在线观看 | 日本道免费精品一区二区三区| 久久九九久久九九| 黑人精品欧美一区二区蜜桃| 欧美一区二区三区免费| 天天色综合成人网| 欧美日韩在线一区二区| 亚洲大型综合色站| 色婷婷亚洲精品| 亚洲一区二区在线视频| 色狠狠一区二区三区香蕉| 一区二区不卡在线播放| 色狠狠桃花综合| 亚洲第一会所有码转帖|