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

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

?? uart_rxerr_tb.vhd

?? UART參考設計
?? VHD
?? 第 1 頁 / 共 3 頁
字號:
    DCDn <= '1';
    DSRn <= '1';
    RIn  <= '1';

    wait for (9.5*CLK_PERIOD);

    MR <= '0';

    wait for (0.5*CLK_PERIOD);


    wait until falling_edge(PCLK);
    -- Test 1 ----------------------------------------------------
    --   8-bit data, Overrun Error test
    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 until data received
    i := 1;
    loop
      if (i < WAIT_TIMEOUT) then
        wait for CLK_PERIOD;
        -- Read LSR (check if "Data Ready" flag at bit 0 is set)
        read_reg (LSR,regData_readBack,CS,ADSn,RDn,A,DOUT);
        exit when regData_readBack(0) = '1';
        i := i + 1;
      else
        assert (false) report"Data Receiving Failed"
        severity failure;
      end if;
    end loop;

    -- 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);
    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
    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;


    wait until falling_edge(PCLK);
    -- Test 2 ----------------------------------------------------
    --   8-bit data, Parity Error test, even parity
    TestID <= 2;
    
    -- 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 : 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 until data received
    i := 1;
    loop
      if (i < WAIT_TIMEOUT) then
        wait for CLK_PERIOD;
        -- Read LSR (check if "Data Ready" flag at bit 0 is set)
        read_reg (LSR,regData_readBack,CS,ADSn,RDn,A,DOUT);
        exit when regData_readBack(0) = '1';
        i := i + 1;
      else
        assert (false) report"Data Receiving Failed"
        severity failure;
      end if;
    end loop;

    -- Check if INTR is low
    assert INTR = '0'
      report"Interrupt should not be generated"
      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;

    -- 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;

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

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

    -- Read and check LSR (read again to see if it's changed by LSR read)
    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 = "10010010"
      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;


    wait until falling_edge(PCLK);
    -- Test 3 ----------------------------------------------------
    --   8-bit data, Parity Error test, odd parity
    TestID <= 3;
    
    -- 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, 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);

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

    -- Wait until data received
    i := 1;
    loop
      if (i < WAIT_TIMEOUT) then
        wait for CLK_PERIOD;
        -- Read LSR (check if "Data Ready" flag at bit 0 is set)
        read_reg (LSR,regData_readBack,CS,ADSn,RDn,A,DOUT);
        exit when regData_readBack(0) = '1';
        i := i + 1;
      else
        assert (false) report"Data Receiving Failed"
        severity failure;
      end if;
    end loop;

    -- Check if INTR is low
    assert INTR = '0'
      report"Interrupt should not be generated"
      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;

    -- 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;

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

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

    -- Read and check LSR (read again to see if it's changed by LSR read)
    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 = "10010010"
      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;


    wait until falling_edge(PCLK);
    -- Test 4 ----------------------------------------------------
    --   8-bit data, Parity Error test, stick even parity
    TestID <= 4;
    
    -- 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 : 1, 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,"00111011",CS,ADSn,WRn,A,DIN);

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

    -- Wait until data received
    i := 1;
    loop
      if (i < WAIT_TIMEOUT) then
        wait for CLK_PERIOD;
        -- Read LSR (check if "Data Ready" flag at bit 0 is set)
        read_reg (LSR,regData_readBack,CS,ADSn,RDn,A,DOUT);
        exit when regData_readBack(0) = '1';
        i := i + 1;
      else
        assert (false) report"Data Receiving Failed"
        severity failure;
      end if;
    end loop;

    -- Check if INTR is low
    assert INTR = '0'
      report"Interrupt should not be generated"
      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;

    -- 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"

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产美女精品在线| 久久伊99综合婷婷久久伊| 色域天天综合网| 99久久久精品| 成人动漫中文字幕| 成人精品免费看| 粗大黑人巨茎大战欧美成人| 成人毛片老司机大片| 成人午夜电影小说| 99精品在线免费| 日本韩国欧美在线| 精品视频999| 欧美老肥妇做.爰bbww视频| 欧美亚洲高清一区二区三区不卡| 在线亚洲免费视频| 欧美日韩精品高清| 日韩一区二区三| 久久网站最新地址| 中文字幕在线观看不卡视频| 成人免费一区二区三区在线观看| 一区二区三区毛片| 日韩av高清在线观看| 久久国产精品区| 成人性视频网站| 91国产丝袜在线播放| 91精品中文字幕一区二区三区| 日韩三级免费观看| 久久久久久久久久久久久久久99 | 北条麻妃国产九九精品视频| 色综合久久精品| 欧美日韩和欧美的一区二区| 日韩一级精品视频在线观看| 国产日韩欧美高清| 亚洲精选视频在线| 日本一不卡视频| 国产成人8x视频一区二区| 91麻豆视频网站| 51午夜精品国产| 久久精品欧美日韩| 亚洲最新视频在线播放| 精品一区二区综合| 色综合久久久久综合体桃花网| 日韩一区二区三区免费看| 国产精品欧美久久久久一区二区| 亚洲一区二三区| 韩日精品视频一区| 91激情在线视频| 欧美日韩一级二级三级| 国产在线国偷精品免费看| 99久久婷婷国产综合精品| 成人高清视频在线| 国产福利一区二区三区视频| 国产成人午夜精品影院观看视频| 91免费视频网址| 国产午夜精品福利| 五月天久久比比资源色| 欧美日韩中文另类| 久久嫩草精品久久久精品| 一区二区三区在线观看动漫| 国产一区二区三区免费看| 日本大香伊一区二区三区| 2024国产精品| 亚洲午夜激情av| 粉嫩av一区二区三区在线播放| 欧美视频在线观看一区| 中文字幕乱码日本亚洲一区二区| 天天影视涩香欲综合网| av午夜精品一区二区三区| 日韩欧美一级在线播放| 一区二区三区欧美| 成人av免费在线观看| 欧美va亚洲va| 亚洲成人激情综合网| 91视视频在线观看入口直接观看www | 亚洲精品写真福利| 国产精品自在在线| 日韩欧美国产高清| 亚洲午夜久久久| 99视频精品全部免费在线| 精品区一区二区| 日日夜夜一区二区| 在线观看国产91| 国产精品久久久久久久岛一牛影视| 精品一区二区在线看| 日韩午夜激情av| 日产国产欧美视频一区精品| 精品视频在线免费看| 一区二区三区电影在线播| 99re8在线精品视频免费播放| 久久精品免视看| 国产一区二区三区免费在线观看 | 午夜欧美2019年伦理| 色婷婷综合中文久久一本| 国产精品人人做人人爽人人添| 狠狠色狠狠色合久久伊人| 日韩欧美在线一区二区三区| 日本欧美一区二区| 欧美一区二区三区人| 青青草97国产精品免费观看| 在线成人午夜影院| 天天影视网天天综合色在线播放| 欧美日韩一区二区三区四区五区| 亚洲午夜私人影院| 欧美人动与zoxxxx乱| 日韩激情在线观看| 欧美一级片在线观看| 久久精品国产久精国产| 日韩精品专区在线影院重磅| 精品在线播放午夜| 国产亚洲短视频| 99免费精品在线| 亚洲免费观看在线观看| 精品视频在线免费观看| 日韩av一区二区三区| 精品日韩在线观看| 国产成人精品网址| **欧美大码日韩| 91黄色免费看| 亚洲r级在线视频| 日韩三级免费观看| 国产精选一区二区三区| 中文文精品字幕一区二区| 99久久婷婷国产综合精品电影 | 性欧美大战久久久久久久久| 91精品国产综合久久久久久久| 免费一区二区视频| 国产欧美一区二区精品秋霞影院| 成人av影视在线观看| 伊人开心综合网| 欧美一区在线视频| 国产精品66部| 亚洲免费观看高清| 欧美男同性恋视频网站| 国内精品嫩模私拍在线| 国产精品青草久久| 欧美日韩国产综合草草| 国产在线国偷精品产拍免费yy| 国产精品女同一区二区三区| 欧美性猛交xxxx黑人交| 狠狠色丁香久久婷婷综合_中| 成人免费一区二区三区视频| 欧美精品乱人伦久久久久久| 精品在线视频一区| 亚洲欧美日韩一区二区| 欧美一级二级三级蜜桃| 成人黄色大片在线观看| 日韩电影在线看| 欧美激情一区二区在线| 欧美日韩精品一区二区三区| 国产夫妻精品视频| 一级特黄大欧美久久久| 久久人人爽人人爽| 在线观看国产91| 国产高清在线精品| 一区二区三区欧美在线观看| 欧美精品一区二区三区四区 | 国产欧美精品一区aⅴ影院 | 国产清纯白嫩初高生在线观看91 | 久久久精品国产免费观看同学| 一本大道综合伊人精品热热| 久久综合综合久久综合| 一区二区三区四区中文字幕| 久久久久久免费网| 欧美日韩一级黄| 成人免费观看视频| 免费在线观看精品| 亚洲欧美日韩久久精品| 久久日韩粉嫩一区二区三区| 欧美日韩一二三| 不卡一二三区首页| 久久99久久99| 丝袜a∨在线一区二区三区不卡| 亚洲视频 欧洲视频| 久久免费美女视频| 欧美一区二区三区在线看| 91免费视频观看| 国产盗摄一区二区三区| 久久爱www久久做| 婷婷综合在线观看| 亚洲综合一二三区| 国产精品久久久久精k8 | 国产一区二区三区蝌蚪| 日韩不卡一二三区| 一区二区三区.www| 综合中文字幕亚洲| 中文字幕免费不卡| 久久久久国产精品人| 欧美电影免费观看高清完整版在| 欧美区在线观看| 欧美日韩中文字幕精品| 91成人看片片| 色呦呦国产精品| 99久久精品情趣| 岛国一区二区三区| 国产麻豆91精品| 国产在线精品免费av| 久久国产综合精品| 久久福利视频一区二区| 久久国产三级精品| 久久黄色级2电影|