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

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

?? it51_core.v

?? 流片過的risc_8051源代碼 verilog語言描述的~
?? V
?? 第 1 頁 / 共 5 頁
字號:
      end 
      if (~Ready)
      begin
         Int_AddrA = Int_AddrA_r ; 
         Mem_A_Rd = 1'b1 ; 
      end 
   end 

   // Int_AddrA_r
   always @(posedge Clk or negedge Rst_n)
   begin
      if (Rst_n == 1'b0)
      begin
         Int_AddrA_r <= {8{1'b0}} ; 
      end
      else
      begin
         Int_AddrA_r <= Int_AddrA ; 
      end 
   end 
   //--------------------------------------------------------------------------
   // PSW
   assign PSW0 = ACC[7] ^ ACC[6] ^ ACC[5] ^ ACC[4] ^ ACC[3] ^ ACC[2] ^ ACC[1] ^ ACC[0] ;
   assign Next_PSW7 = (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b11010000) ? Res_Bus[7] : ((Status_Wr[7]) == 1'b1) ? Status_D[7] : PSW[7] ;
   assign Next_ACC_Z = (ACC_Q == 8'b00000000 & ACC_Wr == 1'b1) ? 1'b1 : (ACC == 8'b00000000) ? 1'b1 : 1'b0 ;

   always @(negedge Rst_n or posedge Clk)
   begin
      if (Rst_n == 1'b0)
      begin
         PSW <= 7'b0000000 ; 
      end
      else
      begin
         if (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b11010000)
         begin
            PSW <= Res_Bus[7:1] ; 
         end 
         // CY
         if ((Status_Wr[7]) == 1'b1)
         begin
            PSW[7] <= Status_D[7] ; 
         end 
         // AC
         if ((Status_Wr[6]) == 1'b1)
         begin
            PSW[6] <= Status_D[6] ; 
         end 
         // OV
         if ((Status_Wr[5]) == 1'b1)
         begin
            PSW[2] <= Status_D[5] ; 
         end 
      end 
   end 

   //--------------------------------------------------------------------------
   // B
   always @(negedge Rst_n or posedge Clk)
   begin
      if (Rst_n == 1'b0)
      begin
         B <= 8'b00000000 ; 
         B_Wr <= 1'b0 ; 
      end
      else
      begin
         if (((cInst_is_DIV & ~PCPause) | cInst_is_MUL) & Last_Cycle)
         begin
            //  DIV, MUL
            B_Wr <= 1'b1 ; 
         end
         else
         begin
            B_Wr <= 1'b0 ; 
         end 
         if (B_Wr == 1'b1)
         begin
            B <= B_Q ; 
         end 
         if (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b11110000)
         begin
            B <= Res_Bus ; 
         end 
      end 
   end 

   //--------------------------------------------------------------------------
   // ACC
   always @(negedge Rst_n or posedge Clk)
   begin
      if (Rst_n == 1'b0)
      begin
         ACC <= 8'b00000000 ; 
         ACC_Wr <= 1'b0 ; 
      end
      else
      begin
         if ((cInst_is_A_Write & Last_Cycle & ~PCPause) | (cInst_is_DIV & ~PCPause))
         begin
            ACC_Wr <= 1'b1 ; 
         end
         else
         begin
            ACC_Wr <= 1'b0 ; 
         end 
         if (ACC_Wr == 1'b1)
         begin
            ACC <= ACC_Q ; 
         end 
         if (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b11100000)
         begin
            ACC <= Res_Bus ; 
         end 
         if (RAM_Rd_i == 1'b1)
         begin
            ACC <= RAM_RData ; 
         end 
         if (cInst_is_MOVC & Third_Cycle)
         begin
            // MOVC
            ACC <= ROM_Data ; 
         end 
      end 
   end 

   //--------------------------------------------------------------------------
   // MUX
   always @(posedge Clk or negedge Rst_n)
   begin
      if (Rst_n == 1'b0)
      begin
         AMux_SFR <= 0 ; 
         BMux_Inst2 <= 0 ; 
         RMux_PCL <= 0 ; 
         RMux_PCH <= 0 ; 
      end
      else
      begin
         AMux_SFR <= 0 ; 
         BMux_Inst2 <= 0 ; 
         RMux_PCL <= 0 ; 
         RMux_PCH <= 0 ; 
         if ((Int_AddrA[7]) == 1'b1)
         begin
            AMux_SFR <= 1 ; 
         end 
         if (cInst[3:1] == 3'b011)
         begin
            if (~(cInst[7:4] == 4'b1010 & Second_Cycle))
            begin
               // Indirect addressing
               AMux_SFR <= 0 ; 
            end 
         end 
         if (cInst_is_POP & First_Cycle)
         begin
            // 11010000 2 POP   data addr       MOV <dest>,"@SP": DEC SP
            AMux_SFR <= 0 ; 
         end 
         if (cInst[3:0] == 4'b0011 | cInst[3:0] == 4'b0101)
         begin
            BMux_Inst2 <= 1 ; 
         end 
         if (cInst_is_LCALL | cInst_is_ACALL | ICall)
         begin
            // LCALL, ACALL, Int
            if (First_Cycle)
            begin
               RMux_PCL <= 1 ; 
            end
            else if (Second_Cycle)
            begin
               RMux_PCH <= 1 ; 
            end 
         end 
      end 
   end 

   //--------------------------------------------------------------------------
   // DPTR0, DPTR1, CKCON, Port2_Reg
   always @(negedge Rst_n or posedge Clk)
   begin
      if (Rst_n == 1'b0)
      begin
         MPAGE <= 8'b00000000 ; 
         DPTR0 <= {16{1'b0}} ; 
         DPTR1 <= {16{1'b0}} ; 
         CKCON <= 8'b00000001 ; 
      end
      else
      begin
         if (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b10010010)
         begin
            MPAGE <= Res_Bus ; 
         end 
         if (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b10100000)
         begin
            MPAGE <= Res_Bus ; 
         end 
         if (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b10000010)
         begin
            //DPL0 <= Res_Bus ; 
            DPTR0[7:0] <= Res_Bus ; 
         end 
         if (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b10000011)
         begin
            //DPH0 <= Res_Bus ; 
            DPTR0[15:8] <= Res_Bus ; 
         end 
         if (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b10000100)
         begin
            //DPL1 <= Res_Bus ; 
            DPTR1[7:0] <= Res_Bus ; 
         end 
         if (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b10000101)
         begin
            //DPH1 <= Res_Bus ; 
            DPTR1[15:8] <= Res_Bus ; 
         end 
         if (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b10001110)
         begin
            CKCON <= Res_Bus ; 
         end 
         if (Ready)
         begin
            if (cInst == 8'b10010000 & Second_Cycle)
            begin
               // 10010000 3 MOV   DPTR,#data
               if (DPS[0] == 1'b0)
               begin
                  //DPH0 <= cInst1 ; 
                  DPTR0[15:8] <= cInst1 ; 
               end
               else
               begin
                  //DPH1 <= cInst1 ; 
                  DPTR1[15:8] <= cInst1 ; 
               end 
            end 
            if (cInst == 8'b10010000 & Third_Cycle)
            begin
               if (DPS[0] == 1'b0)
               begin
                  //DPL0 <= cInst2 ; 
                  DPTR0[7:0] <= cInst2 ; 
               end
               else
               begin
                  //DPL1 <= cInst2 ; 
                  DPTR1[7:0] <= cInst2 ; 
               end 
            end 
            if (INC_DPTR)
            begin
               // 10100011 1 INC   DPTR
               if (DPS[0] == 1'b0)
               begin
                  DPTR0 <= DPTR0 + 1 ; 
               end
               else
               begin
                  DPTR1 <= DPTR1 + 1 ; 
               end 
            end 
         end 
      end 
   end 

   //--------------------------------------------------------------------------
   // INC_DPTR
   always @(negedge Rst_n or posedge Clk)
   begin
      if (Rst_n == 1'b0)
      begin
         INC_DPTR <= 0 ; 
      end
      else
      begin
         if (Ready)
         begin
            INC_DPTR <= cInst_is_INC_DPTR ; 
         end 
      end 
   end 

   //--------------------------------------------------------------------------
   // DPS
   always @(negedge Rst_n or posedge Clk)
   begin
      if (Rst_n == 1'b0)
      begin
         DPS <= 8'b00000000 ; 
      end
      else
      begin
         if (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b10000110)
         begin
            DPS <= Res_Bus ; 
         end 
      end 
   end 
   //--------------------------------------------------------------------------
   // Interrupts
   assign IStart = Last_Cycle & IPending & ~Inst_Skip & ~PCPause & ~Ri_Stall & ~PSW_Stall & ~RW_Stall ;

   // no interrupt in 4 cycle after RETI
   always @(negedge Rst_n or posedge Clk)
   begin
      if (Rst_n == 1'b0)
      begin
         INT_reject <= 0 ; 
      end
      else
      begin
         if (cInst_is_RETI)
         begin
            INT_reject <= 1 ; 
         end
         else
         begin
            INT_reject <= 0 ; 
         end 
      end 
   end 

   // IP
   always @(negedge Rst_n or posedge Clk)
   begin
      if (Rst_n == 1'b0)
      begin
         IP <= 8'b10000000 ; 
      end
      else
      begin
         if (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b10111000)
         begin
            IP <= Res_Bus ; 
         end 
      end 
   end 

   // EIP
   always @(negedge Rst_n or posedge Clk)
   begin
      if (Rst_n == 1'b0)
      begin
         EIP <= 8'b10000000 ; 
      end
      else
      begin
         if (SFR_Wr_i == 1'b1 & Int_AddrA_r == 8'b11111000)
         begin
            EIP <= Res_Bus ; 
         end 
      end 
   end 
   // LPInt, HPInt, IPending, Int_Acc, Int_Trig_r
   assign INT_IP = {EIP[3:0], IP[6:0]} ;

   always @(negedge Rst_n or posedge Clk)
   begin
      if (Rst_n == 1'b0)
      begin
         LPInt <= 0 ; 
         HPInt <= 0 ; 
         Int_Trig_r <= {11{1'b0}} ; 
         IPending <= 0 ; 
      end
      else
      begin
         if (Ready)
         begin
            if (ICall)
            begin
               IPending <= 0 ; 
            end
            else if ((Int_Trig & INT_IP) != 11'b00000000000 & ~HPInt & ~IPending & ~ICall & ~INT_reject)
            begin
               Int_Trig_r <= Int_Trig & INT_IP ; 
               IPending <= 1 ; 
               HPInt <= 1 ; 
            end
            else if (Int_Trig != 11'b00000000000 & ~LPInt & ~HPInt & ~IPending & ~ICall & ~INT_reject)
            begin
               Int_Trig_r <= Int_Trig ; 
               IPending <= 1 ; 
               LPInt <= 1 ; 
            end 
            if (cInst_is_RETI)
            begin
               if (~HPInt)
               begin
                  LPInt <= 0 ; 
               end
               else
               begin
                  HPInt <= 0 ; 
               end 
            end 
            if (ICall & Last_Cycle)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区高清| 综合久久国产九一剧情麻豆| 一本大道久久a久久精品综合| 久久99精品久久久久久国产越南 | 91丝袜呻吟高潮美腿白嫩在线观看| 日本中文字幕一区| 裸体健美xxxx欧美裸体表演| 日韩电影免费在线观看网站| 日韩av在线免费观看不卡| 日韩高清在线观看| 久久av资源站| 成人免费毛片高清视频| 色哟哟国产精品| 欧美老女人第四色| 精品久久五月天| 欧美国产一区二区| 一区二区日韩av| 麻豆精品在线看| 国产91色综合久久免费分享| 成人爱爱电影网址| 欧美羞羞免费网站| 制服.丝袜.亚洲.中文.综合| 精品国产乱子伦一区| 国产精品久久久久久久久搜平片 | 精品国产成人系列| 日本一区二区三区免费乱视频| 亚洲图片激情小说| 男人的天堂久久精品| 国内精品伊人久久久久av一坑| 成人av在线资源| 91精品欧美久久久久久动漫 | 一区二区三区免费| 蜜臀av性久久久久蜜臀av麻豆| 国产精品一区免费视频| 色婷婷精品久久二区二区蜜臂av| 日韩亚洲欧美在线观看| 亚洲欧美一区二区在线观看| 日韩av一区二区在线影视| 国产高清久久久| 欧美欧美欧美欧美| 中文字幕一区二区不卡| 美国三级日本三级久久99| 色综合天天综合在线视频| 26uuu精品一区二区在线观看| 亚洲另类一区二区| 国产久卡久卡久卡久卡视频精品| 欧美色图激情小说| 成人欧美一区二区三区视频网页 | 国产精品久久夜| 毛片av一区二区三区| 欧美在线观看一区| 中文字幕日韩av资源站| 韩国女主播成人在线观看| 欧美在线不卡视频| 亚洲视频你懂的| 波多野结衣精品在线| 久久久国产午夜精品| 免费精品视频最新在线| 欧美日韩国产123区| 伊人色综合久久天天人手人婷| 国产一区91精品张津瑜| 日韩一区二区免费在线电影| 一区二区在线观看不卡| 99久久久免费精品国产一区二区| 精品日韩在线一区| 另类成人小视频在线| 欧美一区二区视频免费观看| 天天影视网天天综合色在线播放| 色欧美88888久久久久久影院| 欧美激情一区二区三区不卡 | 久久99蜜桃精品| 欧美精品久久久久久久久老牛影院| 亚洲女同一区二区| 99精品视频在线观看| 国产精品国产馆在线真实露脸 | 久久久噜噜噜久久人人看| 免费亚洲电影在线| 精品日韩一区二区三区免费视频| 日韩电影在线免费观看| 欧美一区日本一区韩国一区| 男人的天堂亚洲一区| 精品三级在线观看| 国产成人av影院| 国产精品国产三级国产普通话99| 99久久99久久久精品齐齐| 亚洲少妇中出一区| 欧美三级韩国三级日本一级| 日精品一区二区三区| 久久麻豆一区二区| 国产二区国产一区在线观看| 中文字幕av免费专区久久| 91网站最新地址| 亚洲成va人在线观看| 欧美大黄免费观看| 成人午夜又粗又硬又大| 亚洲一区二区四区蜜桃| 欧美日韩一区二区三区免费看 | 亚洲精品伦理在线| 91精品福利在线一区二区三区| 看电影不卡的网站| 国产午夜一区二区三区| 91麻豆国产自产在线观看| 丝袜美腿亚洲综合| 日本一区二区三区在线观看| 欧美影院一区二区| 精品一区二区三区的国产在线播放| 久久久久青草大香线综合精品| 不卡视频在线观看| 视频一区欧美日韩| 国产精品美女www爽爽爽| 欧美日韩视频在线观看一区二区三区 | 国产在线播精品第三| 国产精品国产自产拍在线| 91精品国产综合久久福利软件| 国产999精品久久久久久绿帽| 亚洲高清免费在线| 日本一区二区三区国色天香| 欧美日韩视频一区二区| 国产69精品久久久久毛片| 亚洲国产综合91精品麻豆| 久久久久久免费网| 911精品国产一区二区在线| 成人教育av在线| 精品一区精品二区高清| 亚洲国产成人高清精品| 中文字幕一区二区日韩精品绯色| 日韩亚洲欧美在线观看| 欧美日韩黄色影视| 91色九色蝌蚪| www.欧美色图| 成人黄色国产精品网站大全在线免费观看| 手机精品视频在线观看| 亚洲人精品一区| 中文一区二区在线观看| 日韩欧美一二区| 欧美日韩国产成人在线91| 日本丶国产丶欧美色综合| 成人免费看片app下载| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 国产在线观看免费一区| 日韩在线播放一区二区| 亚洲成人免费在线| 亚洲一区二区三区精品在线| 亚洲色图欧洲色图| 最好看的中文字幕久久| 国产精品久久久久久福利一牛影视| 久久久久国色av免费看影院| 欧美大片日本大片免费观看| 911精品产国品一二三产区| 欧美男人的天堂一二区| 欧美片在线播放| 91精品一区二区三区久久久久久| 欧美亚洲另类激情小说| 欧美三级中文字| 91精品国模一区二区三区| 欧美一区二区三区视频免费| 在线不卡一区二区| 欧美一区二区在线免费播放| 日韩免费福利电影在线观看| 久久亚洲一区二区三区明星换脸| 久久综合色一综合色88| 日本一二三四高清不卡| 日韩美女久久久| 亚洲一区二区在线视频| 免费美女久久99| 国产盗摄视频一区二区三区| 成人激情文学综合网| 91小视频在线观看| 911国产精品| 国产亚洲精品福利| 亚洲一区二三区| 久久精品国产亚洲aⅴ| 国产福利电影一区二区三区| 91在线观看高清| 欧美夫妻性生活| 欧美国产日本视频| 一区二区高清视频在线观看| 日韩国产精品大片| 成av人片一区二区| 91精品免费观看| 日韩一区有码在线| 蜜桃av噜噜一区| 成人av在线资源| 日韩亚洲欧美在线| 亚洲三级免费电影| 久久精品国产亚洲一区二区三区 | 亚洲男人的天堂网| 美女网站在线免费欧美精品| 大桥未久av一区二区三区中文| 在线区一区二视频| 久久久亚洲高清| 亚洲午夜在线视频| 成人av电影免费观看| 日韩精品中文字幕在线不卡尤物| 国产精品对白交换视频| 久久精品久久精品| 欧美日韩一区视频| 欧美韩日一区二区三区四区| 日本va欧美va欧美va精品| 91丝袜美女网|