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

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

?? uart_int_tb.vhd

?? lattice的串口仿真的程序
?? VHD
?? 第 1 頁 / 共 3 頁
字號:
  end process SIN_proc;

-----------------------------------------------------------------------
-- Test UART Transmitter/Receiver Functions
-----------------------------------------------------------------------
  UART_Stim_Proc : process
    variable i : integer;
  begin

    -- Reset and Intialization
    MR <= '1';

    CS <= '0';
    ADSn <= '1';
    A <= "111";
    DIN <= "11111111";

    CTSn <= '1';
    DCDn <= '1';
    DSRn <= '1';
    RIn  <= '1';

    wait for (9.5*CLK_PERIOD + 3 ns);

    MR <= '0';

    wait for (0.5*CLK_PERIOD - 3 ns);


    -- Test 1 ----------------------------------------------------
    --   Receiver Line Status Interrupt test
    if not EOT then
       wait until EOT;
    end if;
    TestID <= 1;
    
    -- IER Intialization
    --   bit 3 : 0, disable modem status interrupt
    --   bit 2 : 1, enable receiver line status interrupt
    --   bit 1 : 0, disable tranmitter holding register empty interrupt
    --   bit 0 : 0, disable received data available interrupt
    write_reg (IER,"00000100",CS,ADSn,WRn,A,DIN);

    -- LCR Intialization
    --   bit 6 : 0, do not set break
    --   bit 5 : 0, not stick parity
    --   bit 4 : 0, even parity selected
    --   bit 3 : 0, parity enabled
    --   bit 2 : 0, 1 stop bit
    --   bit 1 : 1, 8 data bit (bit[1-0]="11")
    --   bit 0 : 1, 8 data bit (bit[1-0]="11")
    write_reg (LCR,"00000011",CS,ADSn,WRn,A,DIN);

    -- trigger okToReceiveSIN to get character from SIN
    okToReceiveSIN <= '1',
                      '0' after 1 ns;

    -- Wait for INTR high
    i := 1;
    loop
      if (i < WAIT_TIMEOUT) then
        wait for CLK_PERIOD;
        exit when INTR = '1';
        i := i + 1;
      else
        assert (false) report"Interrupt Generation Failed"
        severity failure;
      end if;
    end loop;

    -- Check if INTR is pending due to Overrun
    read_reg (IIR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    intLevel <= conv_integer(regData_readBack(2 downto 1));
    assert regData_readBack = "00000110"
      report"Invalid IIR"
      severity failure;

    -- Read and check LSR (check if "Overrun Error" flag at bit 1 is set)
    read_reg (LSR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    assert regData_readBack = "01100011"
      report"Invalid LSR"
      severity failure;

    -- Check if INTR is low
    -- Overrun Error Interrupt should be reset after reading LSR
    assert INTR = '0'
      report"Interrupt not negated"
      severity failure;

    -- Read and check LSR (check if "Overrun Error" flag at bit 1 is cleared)
    read_reg (LSR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    assert regData_readBack = "01100001"
      report"Invalid LSR"
      severity failure;

    -- Read and check RBR
    read_reg (RBR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    assert regData_readBack = "01010110"
      report"Invalid RBR"
      severity failure;

    -- Read and check LSR (check if "Data Ready" flag at bit 0 is cleared)
    read_reg (LSR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    assert regData_readBack = "01100000"
      report"Invalid LSR"
      severity failure;

    -- Read and check RBR
    read_reg (RBR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    assert regData_readBack = "01010110"
      report"Invalid RBR"
      severity failure;


    -- Test 2 ----------------------------------------------------
    --   Level 2 interrupt test
    --   Receiver Data Available Interrupt test
    if not EOT then
       wait until EOT;
    end if;
    TestID <= 2;
    
    -- IER Intialization
    --   bit 3 : 0, disable modem status interrupt
    --   bit 2 : 0, disable receiver line status interrupt
    --   bit 1 : 0, disable tranmitter holding register empty interrupt
    --   bit 0 : 1, enable received data available interrupt
    write_reg (IER,"00000001",CS,ADSn,WRn,A,DIN);

    -- LCR Intialization
    --   bit 6 : 0, do not set break
    --   bit 5 : 0, not stick parity
    --   bit 4 : 1, even parity selected
    --   bit 3 : 1, parity enabled
    --   bit 2 : 0, 1 stop bit
    --   bit 1 : 1, 8 data bit (bit[1-0]="11")
    --   bit 0 : 1, 8 data bit (bit[1-0]="11")
    write_reg (LCR,"00011011",CS,ADSn,WRn,A,DIN);

    -- trigger okToReceiveSIN to get character from SIN
    okToReceiveSIN <= '1',
                      '0' after 1 ns;

    -- Wait for INTR high
    i := 1;
    loop
      if (i < WAIT_TIMEOUT) then
        wait for CLK_PERIOD;
        exit when INTR = '1';
        i := i + 1;
      else
        assert (false) report"Interrupt Generation Failed"
        severity failure;
      end if;
    end loop;

    -- Check if INTR is pending due to Receiver Data Available
    read_reg (IIR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    intLevel <= conv_integer(regData_readBack(2 downto 1));
    assert regData_readBack = "00000100"
      report"Invalid IIR"
      severity failure;

    -- Read and Check LSR (check if "Data Ready" flag at bit 0 is set)
    read_reg (LSR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    assert regData_readBack(0) = '1'
      report"Receiver Data Ready bit in LSR is not set"
      severity failure;

    -- Check if IIR is not changed due to LSR read
    read_reg (IIR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    intLevel <= conv_integer(regData_readBack(2 downto 1));
    assert regData_readBack = "00000100"
      report"Invalid IIR"
      severity failure;

    -- Read and check RBR
    read_reg (RBR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    assert regData_readBack = "10010010"
      report"Invalid RBR"
      severity failure;

    -- Check if INTR is reset due to RBR read
    read_reg (IIR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    intLevel <= conv_integer(regData_readBack(2 downto 1));
    assert regData_readBack = "00000001"
      report"Invalid IIR"
      severity failure;

    -- Read and check LSR (check if "Data Ready" flag at bit 0 is cleared)
    read_reg (LSR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    assert regData_readBack = "01100000"
      report"Invalid LSR"
      severity failure;

    -- Wait for INTR high
    i := 1;
    loop
      if (i < WAIT_TIMEOUT) then
        wait for CLK_PERIOD;
        exit when INTR = '1';
        i := i + 1;
      else
        assert (false) report"Interrupt Generation Failed"
        severity failure;
      end if;
    end loop;

    -- Check if INTR is pending due to Receiver Data Available
    read_reg (IIR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    intLevel <= conv_integer(regData_readBack(2 downto 1));
    assert regData_readBack = "00000100"
      report"Invalid IIR"
      severity failure;

    -- Read and Check LSR (check if "Data Ready" flag at bit 0 is set)
    read_reg (LSR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    assert regData_readBack(0) = '1'
      report"Receiver Data Ready bit in LSR is not set"
      severity failure;

    -- Check if IIR is not changed due to LSR read
    read_reg (IIR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    intLevel <= conv_integer(regData_readBack(2 downto 1));
    assert regData_readBack = "00000100"
      report"Invalid IIR"
      severity failure;

    -- Read and check RBR
    read_reg (RBR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    assert regData_readBack = "10010011"
      report"Invalid RBR"
      severity failure;

    -- Check if INTR is reset due to RBR read
    read_reg (IIR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    intLevel <= conv_integer(regData_readBack(2 downto 1));
    assert regData_readBack = "00000001"
      report"Invalid IIR"
      severity failure;

    -- Read and check LSR (check if "Data Ready" flag at bit 0 is cleared)
    read_reg (LSR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    assert regData_readBack = "01100000"
      report"Invalid LSR"
      severity failure;


    -- Test 3 ----------------------------------------------------
    --   Level 3 interrupt test
    --   Transmitter Holding Register Empty Interrupt test
    if not EOT then
       wait until EOT;
    end if;
    TestID <= 3;
    
    -- IER Intialization
    --   bit 3 : 0, disable modem status interrupt
    --   bit 2 : 0, disable receiver line status interrupt
    --   bit 1 : 1, enable tranmitter holding register empty interrupt
    --   bit 0 : 0, disable received data available interrupt
    write_reg (IER,"00000010",CS,ADSn,WRn,A,DIN);

    -- LCR Intialization
    --   bit 6 : 0, do not set break
    --   bit 5 : 0, not stick parity
    --   bit 4 : 0, odd parity selected
    --   bit 3 : 1, parity enabled
    --   bit 2 : 0, 1 stop bit
    --   bit 1 : 1, 8 data bit (bit[1-0]="11")
    --   bit 0 : 1, 8 data bit (bit[1-0]="11")
    write_reg (LCR,"00001011",CS,ADSn,WRn,A,DIN);

    -- Wait for INTR high
    i := 1;
    loop
      if (i < WAIT_TIMEOUT) then
        wait for CLK_PERIOD;
        exit when INTR = '1';
        i := i + 1;
      else
        assert (false) report"Interrupt Generation Failed"
        severity failure;
      end if;
    end loop;

    -- Check if INTR is pending due to THR empty
    read_reg (IIR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    intLevel <= conv_integer(regData_readBack(2 downto 1));
    assert regData_readBack = "00000010"
      report"Invalid IIR"
      severity failure;

    -- Write data into THR, 1st time
    write_reg (THR,"00010001",CS,ADSn,WRn,A,DIN);
    wait for (8*CLK_PERIOD); -- wait longer for data to transfer from THR to TSR

    -- Write data into THR, 2nd time
    write_reg (THR,"00100010",CS,ADSn,WRn,A,DIN);

    -- Check if INTR is reset due to THR write
    read_reg (IIR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    intLevel <= conv_integer(regData_readBack(2 downto 1));
    assert regData_readBack = "00000001"
      report"Invalid IIR"
      severity failure;

    -- Check if INTR is low
    assert INTR = '0'
      report"Interrupt not negated"
      severity failure;

    -- Wait for INTR high
    i := 1;
    loop
      if (i < WAIT_TIMEOUT) then
        wait for CLK_PERIOD;
        exit when INTR = '1';
        i := i + 1;
      else
        assert (false) report"Interrupt Generation Failed"
        severity failure;
      end if;
    end loop;

    -- Check if 2nd INTR is pending due to THR empty
    read_reg (IIR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    intLevel <= conv_integer(regData_readBack(2 downto 1));
    assert regData_readBack = "00000010"
      report"Invalid IIR"
      severity failure;

    -- Write data into THR, 3nd time
    write_reg (THR,"00110011",CS,ADSn,WRn,A,DIN);
    
    -- Clear IER
    write_reg (IER,"00000000",CS,ADSn,WRn,A,DIN);


    -- Test 4 ----------------------------------------------------
    --   Level 4 interrupt test
    --   MODEM Status Interrupt test
    if not EOT then
       wait until EOT;
    end if;
    TestID <= 4;
    
    -- IER Intialization
    --   bit 3 : 1, enable modem status interrupt
    --   bit 2 : 0, disable receiver line status interrupt
    --   bit 1 : 0, disable tranmitter holding register empty interrupt
    --   bit 0 : 0, disable received data available interrupt
    write_reg (IER,"00001000",CS,ADSn,WRn,A,DIN);

    -- LCR Intialization
    --   bit 6 : 0, do not set break
    --   bit 5 : 0, not stick parity
    --   bit 4 : 0, odd parity selected
    --   bit 3 : 1, parity enabled
    --   bit 2 : 0, 1 stop bit
    --   bit 1 : 1, 8 data bit (bit[1-0]="11")
    --   bit 0 : 1, 8 data bit (bit[1-0]="11")
    write_reg (LCR,"00001011",CS,ADSn,WRn,A,DIN);

    -- Check if INTR is currently reset to show no interrupt pending
    read_reg (IIR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    intLevel <= conv_integer(regData_readBack(2 downto 1));
    assert regData_readBack = "00000001"
      report"Invalid IIR"
      severity failure;

    -- Read MSR and check
    read_reg (MSR,regData_readBack,CS,ADSn,RDn,A,DOUT);
    assert regData_readBack = "00000000"
      report"Invalid MSR"
      severity failure;

    CTSn <= '0'; -- MODEM signal changed

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
白白色亚洲国产精品| 久久se精品一区精品二区| 国产欧美在线观看一区| 欧美mv日韩mv国产| 日韩精品一区二区三区三区免费| 欧美日韩精品二区第二页| 欧美午夜一区二区三区免费大片| 日本道免费精品一区二区三区| 国产老肥熟一区二区三区| 国产精品18久久久久久久久久久久 | 欧美巨大另类极品videosbest | xfplay精品久久| 国产亚洲一区二区三区四区| 国产亚洲精品aa| 国产精品高潮呻吟久久| 成人欧美一区二区三区小说| 日韩毛片精品高清免费| 一区二区免费在线播放| 日本欧美一区二区三区乱码| 精品中文字幕一区二区| 成人不卡免费av| 欧洲亚洲国产日韩| 精品嫩草影院久久| 国产精品高潮呻吟| 天天av天天翘天天综合网 | 激情综合网天天干| 福利一区福利二区| www.亚洲色图.com| 欧美日韩国产精品成人| 精品人伦一区二区色婷婷| 国产精品系列在线| 亚洲成人av中文| 国产精品18久久久久久vr| 色婷婷综合久久久久中文| 欧美一区二区三区四区在线观看| 中文字幕不卡的av| 五月天一区二区| 国产河南妇女毛片精品久久久| 91黄色免费网站| 国产亚洲人成网站| 五月婷婷激情综合| 99久久免费精品| 久久久亚洲精华液精华液精华液 | 蜜桃视频在线一区| youjizz国产精品| 日韩女优制服丝袜电影| 综合色天天鬼久久鬼色| 久久爱www久久做| 欧美人与性动xxxx| 亚洲欧美成aⅴ人在线观看| 蜜桃av噜噜一区| 欧美久久久久久久久中文字幕| 欧美国产精品专区| 国产资源精品在线观看| 欧美专区在线观看一区| 国产精品久久精品日日| 国产一区二区h| 日韩亚洲欧美成人一区| 亚洲一区自拍偷拍| 91玉足脚交白嫩脚丫在线播放| 337p粉嫩大胆色噜噜噜噜亚洲 | 亚洲黄色性网站| 成人精品在线视频观看| 欧美成人伊人久久综合网| 丝瓜av网站精品一区二区 | 国产日韩高清在线| 国产精品91xxx| www久久久久| 国产做a爰片久久毛片| 欧美本精品男人aⅴ天堂| 久久成人av少妇免费| 51午夜精品国产| 日韩电影在线观看网站| 欧美群妇大交群中文字幕| 亚洲一二三四区不卡| 欧美亚洲综合一区| 亚洲综合一区二区三区| 欧美三级资源在线| 亚洲成人中文在线| 欧美一区二区久久| 蜜桃久久久久久久| 亚洲精品一区二区三区蜜桃下载| 亚洲午夜久久久久久久久电影院| 蜜桃精品在线观看| 精品国产麻豆免费人成网站| 蜜芽一区二区三区| 精品国产一区二区三区久久久蜜月| 麻豆高清免费国产一区| 久久婷婷久久一区二区三区| 国产一区二区免费视频| 国产亚洲欧洲997久久综合| 粉嫩高潮美女一区二区三区 | av亚洲精华国产精华| 亚洲免费在线观看| 欧美日韩高清一区二区不卡| 日本女优在线视频一区二区| 久久久久97国产精华液好用吗| 成人av电影在线网| 一区二区三区高清不卡| 91精品国产欧美一区二区18| 国产成人在线观看| 一区二区三区国产精品| 精品国产三级电影在线观看| 不卡的av在线播放| 亚洲高清免费观看 | 91视频免费播放| 视频一区在线视频| 国产欧美精品一区二区三区四区| 99久久777色| 麻豆精品一区二区| 亚洲色图.com| 日韩一二三四区| 色综合色综合色综合色综合色综合| 午夜a成v人精品| 国产精品成人免费在线| 欧美美女黄视频| 成人av网站免费观看| 麻豆精品一区二区av白丝在线| 亚洲欧洲国产日本综合| 日韩欧美一区中文| 色哟哟欧美精品| 国产不卡免费视频| 久久精品免费观看| 亚洲一区二区在线免费观看视频| 26uuu精品一区二区三区四区在线| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 男人操女人的视频在线观看欧美 | 在线观看亚洲成人| 国产黄人亚洲片| 久久国产精品一区二区| 一区二区三区四区在线播放| 国产欧美精品一区二区三区四区| 在线播放日韩导航| 91福利在线播放| 国产精品影视天天线| 蜜桃视频一区二区三区在线观看| 亚洲欧美另类久久久精品| 国产亚洲精品7777| 久久亚洲一级片| 欧美成人免费网站| 日韩欧美国产1| 91精品国产福利在线观看| 欧美三级中文字| 欧美三级蜜桃2在线观看| 91在线免费播放| 色综合久久久久综合99| 91在线观看一区二区| 91在线播放网址| 91在线播放网址| 在线亚洲免费视频| 色悠久久久久综合欧美99| 99久久久久久99| 一本久久a久久免费精品不卡| aaa欧美色吧激情视频| 大白屁股一区二区视频| 国产不卡免费视频| 波多野结衣中文字幕一区二区三区 | 天天影视色香欲综合网老头| 亚洲国产精品久久不卡毛片 | 日本黄色一区二区| 色琪琪一区二区三区亚洲区| 欧美视频一区二区在线观看| 欧美日韩dvd在线观看| 538prom精品视频线放| 日韩精品在线网站| 国产欧美视频一区二区| 国产精品不卡一区二区三区| 亚洲天堂免费在线观看视频| 亚洲另类一区二区| 日本亚洲免费观看| 国产一区中文字幕| 94-欧美-setu| 88在线观看91蜜桃国自产| 欧美不卡视频一区| 中文字幕日韩一区| 午夜视黄欧洲亚洲| 韩国女主播一区二区三区| 国产成人三级在线观看| 91国偷自产一区二区三区成为亚洲经典| 日本韩国欧美三级| 日韩一区二区精品| 中文字幕一区二区三区av| 亚洲成人av一区二区| 精品一区二区三区的国产在线播放| 成人污污视频在线观看| 欧美在线free| 久久久久国产精品麻豆ai换脸| 亚洲欧美日韩中文字幕一区二区三区 | 久久久91精品国产一区二区三区| 中文字幕一区二区5566日韩| 欧美aaa在线| 色网站国产精品| 久久综合网色—综合色88| 亚洲精品国产精华液| 国产一区二区三区在线观看精品 | 国产成人午夜视频| 欧美中文字幕亚洲一区二区va在线| 精品国产欧美一区二区| 亚洲综合激情网| 丰满少妇久久久久久久|