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

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

?? cputop.v

?? 用verilog編寫的risc mcu
?? V
字號:
//------------------------------------------- cputop.v ????? -----------------------------------------------------
/***********************************************************************
***  ?????cputop ????????????????cpu???????????
***                    ???????????????????????????????
***            ??????????????????????CPU????RTL??
***            ?????????????? 
************************************************************************/
`include "ram.v"
`include "rom.v"
`include "addr_decode.v"
`include "cpu.v"

`timescale 1ns / 100ps
`define PERIOD 100             // matches clk_gen.v
module cputop;
  reg reset_req,clock;
  integer test;
  reg [(3*8):0] mnemonic;    //array that holds 3 8-bit ASCII characters
  reg [12:0] PC_addr,IR_addr;
  wire [7:0] data;
  wire [12:0] addr;
  wire rd,wr,halt,ram_sel,rom_sel;

//------------------------   cpu ?????????ROM?RAM?????--------------------------------------
cpu   t_cpu (.clk(clock),.reset(reset_req),.halt(halt),.rd(rd),
                                       .wr(wr),.addr(addr),.data(data));

ram   t_ram  (.addr(addr[9:0]),.read(rd),.write(wr),.ena(ram_sel),.data(data));

rom   t_rom  (.addr(addr),.read(rd),.ena(rom_sel),.data(data));

addr_decode   t_addr_decode (.addr(addr),.ram_sel(ram_sel),.rom_sel(rom_sel));

//--------------------cpu ?????????ROM?RAM???????---------------------------------- 
initial
  begin 
    clock=1;
    //display time in nanoseconds
    $timeformat ( -9,  1, " ns", 12);
    display_debug_message;
    sys_reset;
    test1;
    $stop;
    test2;
    $stop;
    test3;
    $stop;
end
  task display_debug_message;
    begin
      $display("\n**************************************************");
         $display("*  THE FOLLOWING DEBUG TASK ARE AVAILABLE:           *");
         $display("* \"test1; \" to load the 1st diagnostic progran. *");
         $display("*  \"test2; \" to load the 2nd diagnostic program. *");
         $display("*  \"test3; \" to load the Fibonacci program.      *");
         $display("*****************************************************\n");
    end
  endtask
   task test1;
    begin
      test = 0;
      disable MONITOR;
      $readmemb ("test1.pro", t_rom.memory);
      $display("rom loaded   successfully!");
      $readmemb("test1.dat",t_ram.ram);
      $display("ram loaded   successfully!");
      #1 test = 1;
      #14800  ;
      sys_reset;
    end
   endtask
  
  task test2;
    begin
      test = 0;
      disable MONITOR;
      $readmemb("test2.pro",t_rom.memory);
      $display("rom loaded  successfully!");
      $readmemb("test2.dat",t_ram.ram);
      $display("ram loaded  successfully!");
      #1 test = 2;
      #11600;
      sys_reset;
    end
   endtask
  
  task test3;
    begin
      test = 0;
      disable MONITOR;
      $readmemb("test3.pro",t_rom.memory);
      $display("rom loaded  successfully!");
      $readmemb("test3.dat",t_ram.ram);
      $display("ram loaded  successfully!");
      #1 test = 3;
      #94000;
      sys_reset;
    end
   endtask
  
   
  task sys_reset;
    begin
      reset_req = 0;
      #(`PERIOD*0.7) reset_req = 1; 
      #(1.5*`PERIOD) reset_req = 0;  
    end
  endtask 

   always @(test)
    begin: MONITOR
      case (test)
       1: begin                        //display results when running test 1
            $display("\n*** RUNNING CPUtest1 - The Basic CPU Diagnostic Program ***");
            $display("\n     TIME           PC       INSTR      ADDR     DATA  ");
            $display("    ----------      ----     -----     -----       ----- ");
             while (test == 1) 
                  @(t_cpu.m_adr.pc_addr)//fixed
                  if ((t_cpu.m_adr.pc_addr%2 == 1)&&(t_cpu.m_adr.fetch == 1))//fixed 
                begin
                  # 60    PC_addr <=t_cpu.m_adr.pc_addr -1 ;
                          IR_addr <=t_cpu.m_adr.ir_addr;
                 # 340   $strobe("%t   %h     %s     %h  %h", $time, PC_addr, 
                                  mnemonic, IR_addr,data );
                      //HERE DATA HAS BEEN CHANGED T-CPU-M-REGISTER.DATA
               end  
 
           end
           
        2: begin
	     $display("\n*** RUNNING CPUtest2 - The Advanced CPU Diagnostic Program ***");
             $display("\n     TIME          PC       INSTR      ADDR     DATA  ");
             $display("   ----------      ---        -----       -----    ---- ");
             while (test == 2) 
               @(t_cpu.m_adr.pc_addr)
               if ((t_cpu.m_adr.pc_addr%2 == 1) 
                                    && (t_cpu.m_adr.fetch == 1))
               begin 
                # 60    PC_addr  <= t_cpu.m_adr.pc_addr - 1 ;
                        IR_addr  <= t_cpu.m_adr.ir_addr;
                # 340   $strobe("%t  %h  %s  %h %h", $time, PC_addr,
                                               mnemonic, IR_addr, data );
               end  
       
           end
        
        3: begin
             $display("\n***   RUNNING CPUtest3 - An Executable Program   ***");  
             $display("*** This program should calculate the fibonacci  ***");
             $display("\n    TIME      FIBONACCI NUMBER");
             $display(  "  ---------   -----------------");
             while (test == 3)
              begin 
                 wait ( t_cpu.m_alu.opcode == 3'h1) // display Fib. No. at end of program loop
                 $strobe("%t     %d", $time,t_ram.ram[10'h2]);
                 wait ( t_cpu.m_alu.opcode != 3'h1);
              end
           end       
      endcase
      
     end
//-------------------------------------------------------------------------
always @(posedge halt)       //STOP when HALT instruction decoded
    begin
      #500                
          $display("\n*********************************************");
            $display(    "**  A HALT INSTRUCTION WAS PROCESSED  !!!  **");
           $display(     "*********************************************\n");
    end
always #(`PERIOD/2) clock=~clock;   
always  @(t_cpu.m_alu.opcode)  
      //get an ASCII mnemonic for each opcode
    case(t_cpu.m_alu.opcode)
     3'b000  : mnemonic ="HLT";
     3'h1    : mnemonic = "SKZ";
     3'h2    : mnemonic = "ADD";
     3'h3    : mnemonic = "AND";
     3'h4    : mnemonic = "XOR";
     3'h5    : mnemonic = "LDA";
     3'h6    : mnemonic = "STO";
     3'h7    : mnemonic = "JMP";
     default : mnemonic = "???";
    endcase

endmodule
//------------------------------------------- cputop.v ????? -----------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品制服美女丁香| 视频一区国产视频| 欧美tickling挠脚心丨vk| 欧美三级电影在线看| 91丨porny丨最新| www.亚洲精品| 色综合亚洲欧洲| 91国偷自产一区二区开放时间| 色综合天天综合色综合av| 日本韩国欧美国产| 欧美揉bbbbb揉bbbbb| 欧美日韩成人综合天天影院 | 国产日韩v精品一区二区| 久久毛片高清国产| 国产精品毛片a∨一区二区三区| 国产精品萝li| 亚洲成人综合在线| 日韩1区2区3区| 麻豆91精品视频| 成人激情视频网站| 欧美视频在线一区| 精品国产欧美一区二区| 国产精品成人一区二区三区夜夜夜| 亚洲男女毛片无遮挡| 亚洲va国产天堂va久久en| 久久精品72免费观看| 国产不卡在线播放| 欧美在线视频全部完| 日韩无一区二区| 国产精品美日韩| 亚洲一级不卡视频| 激情六月婷婷久久| 色综合色综合色综合色综合色综合| 欧美丰满嫩嫩电影| 中文av一区二区| 日韩中文字幕av电影| 不卡区在线中文字幕| 欧美一区午夜视频在线观看| 欧美国产日韩亚洲一区| 午夜久久久久久久久久一区二区| 韩国精品主播一区二区在线观看| 在线影视一区二区三区| 3751色影院一区二区三区| 中文字幕在线视频一区| 久久激情综合网| 国产99久久精品| 欧美一区午夜精品| 亚洲视频 欧洲视频| 蜜桃在线一区二区三区| 91影视在线播放| 久久久久久久久蜜桃| 日韩成人精品在线观看| 97se亚洲国产综合自在线| 91精品国产一区二区三区蜜臀| 国产欧美日韩在线| 日本午夜一本久久久综合| 99久久精品费精品国产一区二区| 日韩女优毛片在线| 亚洲乱码一区二区三区在线观看| 毛片基地黄久久久久久天堂| 欧美日免费三级在线| 国产精品久久久久久久久果冻传媒 | 懂色av中文字幕一区二区三区 | 99久精品国产| 精品乱人伦小说| 香港成人在线视频| 欧美三级电影网站| ...xxx性欧美| 国产成人一级电影| 亚洲精品一区二区三区99| 日韩国产高清影视| 欧美日韩成人综合天天影院| 国产精品你懂的| 成人免费高清在线观看| 久久精品夜色噜噜亚洲aⅴ| 日韩精品欧美精品| 91麻豆精品国产91久久久资源速度 | 中文字幕亚洲欧美在线不卡| 精品一区二区影视| 欧美日韩大陆一区二区| 性做久久久久久| 国产成人精品免费网站| 在线不卡中文字幕播放| 日韩精品欧美精品| 精品免费国产二区三区 | 久久精品欧美一区二区三区麻豆| 麻豆成人久久精品二区三区小说| 欧美喷水一区二区| 日韩1区2区日韩1区2区| 日韩欧美国产高清| 韩国精品在线观看| 国产精品欧美久久久久无广告| 不卡的av电影在线观看| 亚洲免费三区一区二区| 国产精品一区二区在线播放| 欧美精品一二三| 免费观看成人av| 久久女同精品一区二区| 国产黄色精品视频| 一区二区不卡在线播放 | 色天天综合久久久久综合片| 亚洲午夜羞羞片| 日韩一区二区三区免费观看| 国产麻豆视频一区二区| 精品国产亚洲在线| 成人午夜在线免费| 亚洲国产精品一区二区久久| 日韩一级高清毛片| 国产mv日韩mv欧美| 日韩免费观看高清完整版在线观看| 国产不卡视频在线播放| 亚洲国产精品久久不卡毛片| 精品美女一区二区| 91亚洲精品久久久蜜桃网站| 三级久久三级久久| 国产精品乱码久久久久久| 欧美精品久久久久久久多人混战| 极品美女销魂一区二区三区| 国产精品成人一区二区艾草| 欧美日韩专区在线| aaa亚洲精品| 老司机精品视频在线| 亚洲一区在线观看免费| 国产女人18毛片水真多成人如厕| 欧美卡1卡2卡| 91免费国产视频网站| 韩国av一区二区三区四区| 亚洲国产精品一区二区www在线| 国产欧美一区二区三区沐欲| 欧美精品久久一区| 欧美性三三影院| 99久久免费精品| 国产suv精品一区二区6| 久久国产人妖系列| 日韩av不卡在线观看| 亚洲一区在线看| 亚洲欧美偷拍三级| 国产精品青草综合久久久久99| 精品欧美乱码久久久久久1区2区| 欧美性大战久久久久久久| 99久久精品国产导航| 国产v综合v亚洲欧| 激情欧美一区二区| 精品一区二区三区在线视频| 三级精品在线观看| 日韩黄色免费网站| 日本午夜一区二区| 日本v片在线高清不卡在线观看| 亚洲午夜在线观看视频在线| 一区二区三区在线观看欧美| 亚洲精品中文在线| 亚洲另类色综合网站| 亚洲精品欧美激情| 亚洲综合自拍偷拍| 亚洲国产欧美在线| 日韩国产欧美视频| 亚洲小说春色综合另类电影| 亚洲午夜私人影院| 日韩av午夜在线观看| 欧美aaaaa成人免费观看视频| 日韩经典一区二区| 久久精品av麻豆的观看方式| 免费黄网站欧美| 免费高清在线一区| 极品销魂美女一区二区三区| 国产一区二区91| av在线这里只有精品| 91同城在线观看| 欧美日本高清视频在线观看| 欧美成人激情免费网| 久久伊99综合婷婷久久伊| 国产亚洲欧美中文| 中文字幕亚洲精品在线观看| 亚洲人妖av一区二区| 午夜伦欧美伦电影理论片| 美女网站色91| av男人天堂一区| 在线成人av网站| 国产亚洲人成网站| 夜夜爽夜夜爽精品视频| 免费观看一级欧美片| 夫妻av一区二区| 欧美美女黄视频| 久久精品欧美一区二区三区麻豆| 亚洲视频在线一区二区| 丝袜诱惑亚洲看片| 成人丝袜视频网| 欧美老肥妇做.爰bbww| 国产区在线观看成人精品 | 五月婷婷综合网| 国产自产视频一区二区三区| 一本色道a无线码一区v| 日韩美女一区二区三区四区| 亚洲欧美影音先锋| 美国欧美日韩国产在线播放| 91丨九色porny丨蝌蚪| 337p日本欧洲亚洲大胆精品| 亚洲午夜精品在线| 成人免费看的视频| 亚洲精品一区二区三区影院 |