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

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

?? h16550tb4.v

?? 專門做處理器和周邊接口的著名ipcore廠商CAST出品的UART H16550
?? V
?? 第 1 頁 / 共 3 頁
字號:
//////////////////////////////////////////////////////////////////////////////////////////////////----------------------------------------------------------------------//// Copyright (c) 2002-2003 CAST, inc.//// Please review the terms of the license agreement before using this// file.  If you are not an authorized user, please destroy this source// code file and notify CAST immediately that you inadvertently received// an unauthorized copy.//----------------------------------------------------------------------////  Project       : H16550 UART////  File          : h16550tb4.vhd////  Dependencies  : h16550w.vhd////  Model Type    : Simulation Model (Testbench)////  Description   : H16550 testbench 4////  Designer      : JV////  QA Engineer   : Joram Heilbronner////  Creation Date : 13-January-2002////  Last Update   : 15-February-2002////  Version       : 2.0V////  History       : 1.1 - 02/18/02    VHDL Release////  Tested Operations:  REGISTERS; write and READ  //                      TRANSMISSION; different modes can be changed by modify initial constant \"initLCR\"//                      RECEIVING//                      outputS DTR, RTS, OUT1 and OUT2//                      INPUTS CTS, DSR, DCD and SIN; and effects to Modem Status Register//                      INTERRUPTS//                      BAUDOUT; values of the Divisor registers can be changed////   The main idea of testbench is to write values to registers and check interrupts,//   status ot the UART and outputs several times//   //   The UART is tested in several combinations//   Different values of data and stop bits and parity operations are tested//   All cases are descripted in next table//  // CASE 1:   7 data bits, no parity, 1 stop bit             =>  LCReg = \"00110010\"// CASE 2:   7 data bits, stick parity '1', 2 stop bits     =>  LCReg = \"00101110\"// CASE 3:   7 data bits, stick parity '0', 1 stop bit      =>  LCReg = \"00111010\"// CASE 4:   7 data bits, even parity, 2 stop bits          =>  LCReg = \"00011110\"// CASE 5:   5 data bits, no parity, 1.5 stop bits          =>  LCReg = \"00010100\"// CASE 6:   5 data bits, stick parity '1', 1 stop bit      =>  LCReg = \"00101000\"// CASE 7:   5 data bits, stick parity '0', 1 stop bit      =>  LCReg = \"00111000\"// CASE 8:   5 data bits, odd parity, 1.5 stop bits         =>  LCReg = \"00001100\"// CASE 9:   6 data bits, no parity, 1 stop bit             =>  LCReg = \"00100001\"// CASE 10:  6 data bits, stick parity '1', 2 stop bits     =>  LCReg = \"00101101\"// CASE 11:  6 data bits, stick parity '0', 2 stop bits     =>  LCReg = \"00111101\"// CASE 12:  6 data bits, even parity, 1 stop bit           =>  LCReg = \"00011001\"// CASE 13:  8 data bits, no parity, 1 stop bit             =>  LCReg = \"00000011\"// CASE 14:  8 data bits, stick parity '1', 1 stop bit      =>  LCReg = \"00101011\"// CASE 15:  8 data bits, stick parity '0', 2 stop bits     =>  LCReg = \"00111111\"// CASE 16:  8 data bits, odd parity, 2 stop bits           =>  LCReg = \"00001111\"////   Run for 1100 us//----------------------------------------------------------------------`timescale 1 ns/1 psmodule h16550tb ();   parameter scale  = 1.0;   reg test_done;    integer errors;    reg mr;    reg[2:0] a;    reg ads;    reg cs;    reg wr;    reg rd;    reg clk;    reg rclk;    reg sin;    reg cts;    reg dsr;    reg dcd;    reg ri;    wire ddis;    wire baudout;    wire sout;    wire rxrdyn;    wire txrdyn;    wire rts;    wire dtr;    wire out1;    wire out2;    wire intr;    wire[7:0] dout;    reg[7:0] data;    reg[7:0] din;    parameter period = 100 * scale;    parameter cpu_tpd = period / 3;    parameter cpu_trdwr = cpu_tpd / 2;    reg debug; // Used for regression testing   // CONSTANTs to write to registers   // The value of the Line Control Register constant can be changed to appropriate operation mode   // The values of the Divisor registers can be changed to modify data speed   reg[7:0] initlcr;    parameter[7:0] initmcr = 8'b00000101;    parameter[7:0] initier = 8'b00001111;    parameter[7:0] initsr = 8'b11011111;    parameter[7:0] initdlr = 8'b00000010;    parameter[7:0] initdmr = 8'b00000000;    reg[7:0] initthr;    // ADDRESSES of the registers   // THESE values can not be changed   parameter[2:0] rbradd = 3'b000;    parameter[2:0] thradd = 3'b000;    parameter[2:0] dlradd = 3'b000;    parameter[2:0] dmradd = 3'b001;    parameter[2:0] ieradd = 3'b001;    parameter[2:0] iiradd = 3'b010;    parameter[2:0] lcradd = 3'b011;    parameter[2:0] mcradd = 3'b100;    parameter[2:0] lsradd = 3'b101;    parameter[2:0] msradd = 3'b110;    parameter[2:0] sradd = 3'b111;    reg gnd;    reg vcc;    reg do_reset;    task wait_n_cycle;      input ncycle;      integer ncycle;      begin         begin : xhdl_8            integer i;            for(i = ncycle; i >= 0; i = i - 1)            begin               @(posedge clk);            end         end      end   endtask   task cpu_write;      input[7:0] data;      input[2:0] reg_addr;      input dlab;          begin         @(posedge clk);         #cpu_tpd;         a <= reg_addr ;         cs <= 1'b1 ;         din <= data ;         #cpu_trdwr;         wr <= 1'b1 ;         @(posedge clk);         #cpu_tpd;         wr <= 1'b0 ;         #cpu_trdwr;         cs <= 1'b0 ;         din <= 8'bZZZZZZZZ ;         $write($stime,,"ns MPU Write: Register");         case (reg_addr)            3'b000 :                     begin                        if (dlab)                        begin                           $write(" DLR");                        end                          else                        begin                           $write(" THR");                        end                       end            3'b001 :                     begin                        if (dlab)                        begin                           $write(" DMR");                        end                          else                        begin                           $write(" IER");                        end                       end            3'b010 :                     begin                        $write(" FCR ");                     end              3'b011 :                     begin                        $write(" LCR ");                     end            3'b100 :                     begin                        $write(" MCR ");                     end            3'b101 :                     begin                        $write(" LSR ");                     end            3'b110 :                     begin                        $write(" MSR ");                     end            3'b111 :                     begin                        $write(" SCR ");                     end            default :                     begin                        $write(" Unknown ");                     end         endcase         $display("= %b", data);      end   endtask   task cpu_read;      input[2:0] reg_addr;      input[7:0] ref;      input dlab;      input check;      begin         @(posedge clk);         #cpu_tpd;         a <= reg_addr ;         cs <= 1'b1 ;         #cpu_trdwr;         rd <= 1'b1 ;         @(posedge clk);         #cpu_tpd;         rd <= 1'b0 ;         $write($stime,,"ns  MPU Read: Register");         case (reg_addr)            3'b000 :                     begin                        if (dlab)                        begin                           $write(" DLR");                        end                        else                        begin                           $write(" RBR");                        end                     end            3'b001 :                     begin                        if (dlab)                        begin                           $write(" DMR");                        end                        else                        begin                           $write(" IER");                        end                     end            3'b010 :                     begin                        $write(" ISR ");                     end            3'b011 :                     begin                        $write(" LCR ");                     end            3'b100 :                     begin                        $write(" MCR ");                     end            3'b101 :                     begin                        $write(" LSR ");                     end            3'b110 :                     begin                        $write(" MSR ");                     end            3'b111 :                     begin                        $write(" SCR ");                     end            default :                     begin                        $write(" Unknown ");                     end         endcase         if (check)         begin            $write("= %b", dout);         end         else         begin            $display("= %b", dout);         end         if (check)         begin            if (dout != ref)            begin               $write(" ##### NOK");               $write(" EXPECTED RESULT IS  ");               $display(" %b  #####", ref);               errors <= errors + 1 ;            end            else            begin               $display("  OK");            end         end         #cpu_trdwr;         cs <= 1'b0 ;         @(posedge clk);         #cpu_tpd;      end   endtask   initial   begin      test_done <= 1'b0;      errors <= 0;      mr <= 1'b1;      a <= 3'b000 ;      ads <= 1'b1;      cs <= 1'b0;      wr <= 1'b0;      rd <= 1'b0;      clk <= 1'b0;      rclk <= 1'b0;      sin <= 1'b0;      cts <= 1'b1;      dsr <= 1'b1;      dcd <= 1'b1;      ri <= 1'b1;      din <= 8'b00000000 ;      debug <= 1'b0;      initlcr <= 8'b00110010;      initthr <= 8'b01010110;      gnd <= 1'b0;      vcc <= 1'b1;      do_reset <= 1'b0;   end   h16550w u1 (.a(a), .adsn(ads), .cs0(cs), .cs1(vcc), .cs2n(gnd), .wr(wr),   .rd(rd), .mr(mr), .clk(clk), .rclk(rclk), .sin(sin), .ctsn(cts), .dsrn(dsr), .dcdn(dcd),   .rin(ri), .ddis(ddis), .baudoutn(baudout), .sout(sout), .rtsn(rts), .dtrn(dtr),   .out1n(out1), .out2n(out2), .intr(intr), .rxrdyn(rxrdyn), .txrdyn(txrdyn),   .dout(dout[7:0]), .din(din[7:0]));    //-------------------------------------------------   // Infinite clock generator   //-------------------------------------------------   always @(baudout)   begin       rclk <= baudout ;   end   always @(sout)   begin      sin <= sout ;   end   //-------------------------------------------------   // Asynchronous reset   //-------------------------------------------------   always    begin      #50;       mr <= 1'b1 ;       #230;       mr <= 1'b0 ;       @(posedge do_reset);       mr <= 1'b1 ;       #200;       mr <= 1'b0 ;       forever #100000;    end    always    begin : clk_stim      forever      begin         #(period / 2);          clk <= ~clk ;          if (test_done)         begin            clk <= ~clk ;            $display("TEST COMPLETE");            if (errors == 0)            begin               $display("There were no errors");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线不卡a资源高清| 成人激情动漫在线观看| 91精品国产高清一区二区三区蜜臀 | 国产精品区一区二区三区| 国产乱国产乱300精品| 久久久久一区二区三区四区| 国内精品免费**视频| 国产欧美日韩精品在线| 成人免费高清视频| 亚洲一区二区三区三| 欧美一区二区三区四区高清| 精东粉嫩av免费一区二区三区| 26uuu精品一区二区三区四区在线| 国产精品自拍一区| 最近中文字幕一区二区三区| 欧美亚洲禁片免费| 毛片一区二区三区| 中文无字幕一区二区三区| 91网上在线视频| 男女性色大片免费观看一区二区 | 欧美成人国产一区二区| 国产精品一区二区在线观看不卡| 国产精品乱人伦一区二区| 欧美亚洲一区二区在线| 激情综合五月天| 亚洲欧美一区二区三区久本道91| 欧美日韩色综合| 国产成人日日夜夜| 亚洲va国产天堂va久久en| 久久久久9999亚洲精品| 色美美综合视频| 国内精品在线播放| 亚洲主播在线播放| 久久久久久久久久美女| 欧美午夜精品久久久久久超碰| 精品一区二区三区久久| 亚洲精品videosex极品| 久久久久久久电影| 欧美美女一区二区| 91美女片黄在线观看91美女| 美女www一区二区| 亚洲综合色在线| 国产精品女同一区二区三区| 欧美裸体bbwbbwbbw| 99精品在线免费| 国产一区免费电影| 日本欧美加勒比视频| 一区二区三区欧美日韩| 国产亚洲欧美日韩日本| 日韩亚洲欧美高清| 欧美性猛片aaaaaaa做受| 不卡一卡二卡三乱码免费网站| 免费黄网站欧美| 亚洲成人动漫在线免费观看| 国产精品色婷婷久久58| 久久综合av免费| 欧美一区二区三区不卡| 欧美日韩国产大片| 日本道色综合久久| 99精品视频在线观看免费| 国产麻豆精品一区二区| 久久精品国产亚洲高清剧情介绍| 夜夜揉揉日日人人青青一国产精品 | 久久久影视传媒| 日韩欧美专区在线| 欧美一区二区三区影视| 在线成人av影院| 欧美性受极品xxxx喷水| 色婷婷久久99综合精品jk白丝| 国产毛片精品视频| 国产精品一区久久久久| 国产精品18久久久久| 激情综合网激情| 精品在线观看视频| 老司机精品视频在线| 久热成人在线视频| 看电视剧不卡顿的网站| 韩国精品主播一区二区在线观看| 美女视频一区二区三区| 卡一卡二国产精品| 国产在线精品一区二区| 国产麻豆精品theporn| 国产伦精品一区二区三区免费迷| 精彩视频一区二区| 国产黄色精品视频| 成人深夜视频在线观看| 97精品国产露脸对白| 91年精品国产| 欧美日韩高清一区二区不卡| 欧美美女一区二区| 日韩精品一区二区三区视频播放| 日韩欧美中文字幕公布| 久久精品在线免费观看| 1024国产精品| 亚洲图片欧美视频| 蜜桃av噜噜一区| 国产一区久久久| av电影天堂一区二区在线观看| 91丨porny丨蝌蚪视频| 欧美日韩在线播| 欧美一区二区三区免费视频| 欧美mv日韩mv亚洲| 国产精品网站在线播放| 亚洲综合在线电影| 蜜桃免费网站一区二区三区| 国内成人免费视频| www.亚洲免费av| 制服丝袜亚洲播放| 国产亚洲1区2区3区| 一区二区三区在线免费观看| 日本不卡视频在线| 成人午夜激情影院| 欧美日韩一区精品| 久久精品一区八戒影视| 一区二区成人在线视频 | 一区精品在线播放| 日韩精品久久久久久| 国产精品99久久久久久似苏梦涵| 9l国产精品久久久久麻豆| 制服视频三区第一页精品| 国产日韩欧美综合一区| 午夜视黄欧洲亚洲| 风流少妇一区二区| 欧美精品v国产精品v日韩精品| 26uuu国产一区二区三区| 亚洲精品久久7777| 国产精品911| 777亚洲妇女| 亚洲欧洲精品成人久久奇米网| 五月综合激情网| 99re6这里只有精品视频在线观看| 7878成人国产在线观看| 亚洲欧洲日韩女同| 激情小说亚洲一区| 884aa四虎影成人精品一区| 亚洲人吸女人奶水| 国产经典欧美精品| 宅男噜噜噜66一区二区66| 亚洲欧美在线高清| 国产精品夜夜嗨| 日韩欧美一区二区在线视频| 亚洲欧美另类小说视频| 国产91在线看| 精品久久久久久久人人人人传媒 | 色偷偷88欧美精品久久久| 久久毛片高清国产| 欧美a级理论片| 欧美女孩性生活视频| 亚洲日韩欧美一区二区在线| 国产精品一区二区在线看| 欧美一区二区三区思思人| 亚洲图片自拍偷拍| 色婷婷av一区| 亚洲人成小说网站色在线| 丁香亚洲综合激情啪啪综合| 亚洲精品一线二线三线| 免费在线观看一区| 91麻豆精品国产91久久久更新时间| 亚洲视频每日更新| www.日韩av| 中文字幕中文字幕一区| 成人爽a毛片一区二区免费| 国产校园另类小说区| 国产精品一二三| 中文在线一区二区| 成人看片黄a免费看在线| 日本一区二区电影| 波多野结衣中文字幕一区| 国产精品的网站| 一本大道久久精品懂色aⅴ| 日韩理论片一区二区| 一本久久a久久免费精品不卡| 亚洲女人的天堂| 在线免费观看日本欧美| 午夜亚洲国产au精品一区二区| 欧美性大战久久| 日韩黄色小视频| 日韩精品自拍偷拍| 国产一区二区三区在线观看免费视频| 精品国产乱码久久久久久免费| 国内精品不卡在线| 国产精品视频观看| 欧美在线免费观看视频| 视频一区在线播放| 欧美sm美女调教| 成人永久免费视频| 一区二区三区国产豹纹内裤在线| 欧美色图免费看| 免费观看30秒视频久久| 久久精品综合网| 91性感美女视频| 日韩高清在线一区| 久久精品一区二区| 91福利在线观看| 美女视频网站久久| 亚洲欧洲av色图| 91精品国产乱码| av激情成人网| 日韩电影在线观看电影| 久久久精品影视|