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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? uart_int_tb.vhd

?? UART的rs232通信接口VHDL語言
?? VHD
?? 第 1 頁 / 共 3 頁
字號(hào):
  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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线精品视频免费播放| 欧美日韩亚洲丝袜制服| 亚洲超碰精品一区二区| 久久久综合视频| 欧美在线观看视频在线| 国产精品一级二级三级| 亚洲午夜私人影院| 国产精品国产三级国产aⅴ入口 | 秋霞电影一区二区| 亚洲欧洲日韩在线| 精品成人一区二区三区四区| 欧美亚洲综合色| 99在线精品视频| 黑人精品欧美一区二区蜜桃| 亚洲国产sm捆绑调教视频| 欧美国产综合色视频| 欧美一区二区黄色| 欧美色图免费看| 91麻豆文化传媒在线观看| 国产91丝袜在线18| 韩国精品免费视频| 日本成人在线不卡视频| 午夜精品久久久久影视| 亚洲一区二区不卡免费| 亚洲人成伊人成综合网小说| 国产日韩v精品一区二区| 337p日本欧洲亚洲大胆精品 | 精品久久久久香蕉网| 欧美日本在线播放| 欧美日免费三级在线| 在线亚洲一区二区| 一本一道久久a久久精品 | 日韩精品一区二区三区在线| 欧美久久久久久久久久| 欧美丰满高潮xxxx喷水动漫| 欧美性感一区二区三区| 在线观看av不卡| 色综合亚洲欧洲| 色狠狠av一区二区三区| 一道本成人在线| 日本高清不卡视频| 欧美日韩在线三区| 欧美高清www午色夜在线视频| 欧美电影一区二区三区| 91麻豆精品国产91| 日韩三级视频在线观看| 精品国产伦一区二区三区观看方式 | 激情欧美一区二区三区在线观看| 日本成人在线看| 久久福利资源站| 国模冰冰炮一区二区| 高潮精品一区videoshd| 972aa.com艺术欧美| 日本韩国一区二区| 欧美老女人在线| 精品国产乱码久久久久久浪潮| 精品99一区二区三区| 日本一区二区在线不卡| 国产精品不卡一区| 亚洲国产美女搞黄色| 日韩电影免费一区| 国产成都精品91一区二区三| gogogo免费视频观看亚洲一| 欧洲精品在线观看| 日韩欧美123| 中文字幕一区二区在线播放| 一区二区国产视频| 另类综合日韩欧美亚洲| 成人av影院在线| 欧美日韩一区二区三区四区| 日韩视频一区在线观看| 欧美激情一区三区| 一区二区国产盗摄色噜噜| 久久国产精品99精品国产| 懂色一区二区三区免费观看| 色综合婷婷久久| 日韩欧美精品在线| 亚洲欧洲日本在线| 日本系列欧美系列| 99这里只有精品| 日韩亚洲欧美在线观看| 中文字幕精品三区| 视频一区二区中文字幕| 成人高清视频免费观看| 欧美视频日韩视频在线观看| 久久综合九色综合97婷婷女人| 亚洲精品视频在线| 韩国精品免费视频| 欧美三级在线播放| 亚洲国产精品成人综合| 日本伊人午夜精品| 色婷婷香蕉在线一区二区| 久久丝袜美腿综合| 亚洲va天堂va国产va久| 成人精品鲁一区一区二区| 欧美精品aⅴ在线视频| 亚洲天堂久久久久久久| 国产一区二区影院| 欧美日韩一二区| 中文字幕一区二区三区视频| 蜜臀精品一区二区三区在线观看 | 日韩国产一区二| av资源网一区| 久久人人超碰精品| 日日骚欧美日韩| 日本韩国精品在线| 中文字幕av一区 二区| 免费高清视频精品| 欧美视频中文字幕| 日韩伦理av电影| 国产丶欧美丶日本不卡视频| 欧美日韩国产高清一区二区 | 成人精品小蝌蚪| www成人在线观看| 婷婷国产在线综合| 欧美性大战久久久| 一区二区成人在线视频| 99精品一区二区三区| 国产精品天干天干在观线| 寂寞少妇一区二区三区| 91精品国产黑色紧身裤美女| 亚洲一区二区不卡免费| 日本高清无吗v一区| 亚洲久本草在线中文字幕| 成人h动漫精品一区二区| 国产三级精品在线| 国产精品影视在线| 欧美不卡激情三级在线观看| 奇米777欧美一区二区| 欧美日韩午夜在线视频| 午夜精品一区二区三区免费视频| 日本高清免费不卡视频| 亚洲最大的成人av| 欧洲色大大久久| 亚洲va国产天堂va久久en| 欧美视频一区二区三区四区| 亚洲国产视频在线| 4438x亚洲最大成人网| 免费日韩伦理电影| 日韩三区在线观看| 韩国精品主播一区二区在线观看| 亚洲精品一区二区三区99| 国产最新精品免费| 亚洲国产精品精华液ab| 91免费视频网址| 亚洲午夜日本在线观看| 欧美老肥妇做.爰bbww视频| 日韩福利电影在线观看| 欧美sm极限捆绑bd| 国产一区三区三区| 国产精品欧美久久久久无广告| 国产成人精品免费在线| 国产精品免费久久久久| 色综合一区二区三区| 亚洲午夜电影在线观看| 91精品国产一区二区三区香蕉| 免费观看在线色综合| 精品国产一区二区三区久久久蜜月 | 日本大胆欧美人术艺术动态| 日韩欧美中文一区| 国产二区国产一区在线观看| 中文字幕精品一区| 欧美亚洲图片小说| 久久成人麻豆午夜电影| 中文字幕国产精品一区二区| 91丨porny丨户外露出| 日本亚洲视频在线| 欧美国产成人精品| 欧美日韩一区三区四区| 韩国成人在线视频| 亚洲美腿欧美偷拍| 日韩美一区二区三区| 成人黄色大片在线观看| 午夜精彩视频在线观看不卡| 精品成人一区二区三区四区| 97精品久久久午夜一区二区三区 | 欧洲另类一二三四区| 精品在线播放午夜| 日韩美女啊v在线免费观看| 91精品国产色综合久久不卡电影| 国产成人精品影院| 首页国产欧美日韩丝袜| 亚洲老妇xxxxxx| 久久综合资源网| 在线观看日韩一区| 国产一区视频网站| 亚洲aaa精品| 国产女主播视频一区二区| 欧美情侣在线播放| 成年人国产精品| 免费视频一区二区| 亚洲综合小说图片| 久久蜜臀中文字幕| 91精品国产福利在线观看| www.日韩在线| 国精产品一区一区三区mba桃花| 亚洲国产婷婷综合在线精品| 中文字幕av资源一区| 欧美大白屁股肥臀xxxxxx| 一本大道久久a久久精品综合|