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

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

?? uart_0.v

?? 異步串行通信Uart接口設計
?? V
?? 第 1 頁 / 共 3 頁
字號:
                                   // outputs:
                                    source_rxd
                                 );

  output           source_rxd;
  input   [  8: 0] baud_divisor;
  input            clk;
  input            clk_en;
  input            reset_n;
  input            rx_char_ready;
  input            rxd;

  reg     [  7: 0] d1_stim_data;
  reg              delayed_unxrx_char_readyxx0;
  wire             do_send_stim_data;
  wire             new_rom_pulse;
  wire             pickup_pulse;
  wire             safe;
  wire             source_rxd;
  wire    [  7: 0] stim_data;
  wire             unused_empty;
  wire             unused_overrun;
  wire             unused_ready;

//synthesis translate_off
//////////////// SIMULATION-ONLY CONTENTS
  //stimulus_transmitter, which is an e_instance
  uart_0_tx stimulus_transmitter
    (
      .baud_divisor     (baud_divisor),
      .begintransfer    (do_send_stim_data),
      .clk              (clk),
      .clk_en           (clk_en),
      .do_force_break   (1'b0),
      .reset_n          (reset_n),
      .status_wr_strobe (1'b0),
      .tx_data          (d1_stim_data),
      .tx_overrun       (unused_overrun),
      .tx_ready         (unused_ready),
      .tx_shift_empty   (unused_empty),
      .tx_wr_strobe     (1'b1),
      .txd              (source_rxd)
    );

  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          d1_stim_data <= 0;
      else if (do_send_stim_data)
          d1_stim_data <= stim_data;
    end


  //uart_0_rx_stimulus_source_character_source_rom, which is an e_drom
  uart_0_rx_stimulus_source_character_source_rom_module uart_0_rx_stimulus_source_character_source_rom
    (
      .clk       (clk),
      .incr_addr (do_send_stim_data),
      .new_rom   (new_rom_pulse),
      .q         (stim_data),
      .reset_n   (reset_n),
      .safe      (safe)
    );

  //delayed_unxrx_char_readyxx0, which is an e_register
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          delayed_unxrx_char_readyxx0 <= 0;
      else if (clk_en)
          delayed_unxrx_char_readyxx0 <= rx_char_ready;
    end


  assign pickup_pulse = ~(rx_char_ready) &  (delayed_unxrx_char_readyxx0);
  assign do_send_stim_data = (pickup_pulse || new_rom_pulse) && safe;

//////////////// END SIMULATION-ONLY CONTENTS

//synthesis translate_on
//synthesis read_comments_as_HDL on
//  assign source_rxd = rxd;
//synthesis read_comments_as_HDL off


endmodule


module uart_0_rx (
                   // inputs:
                    baud_divisor,
                    begintransfer,
                    clk,
                    clk_en,
                    reset_n,
                    rx_rd_strobe,
                    rxd,
                    status_wr_strobe,

                   // outputs:
                    break_detect,
                    framing_error,
                    parity_error,
                    rx_char_ready,
                    rx_data,
                    rx_overrun
                 );

  output           break_detect;
  output           framing_error;
  output           parity_error;
  output           rx_char_ready;
  output  [  7: 0] rx_data;
  output           rx_overrun;
  input   [  8: 0] baud_divisor;
  input            begintransfer;
  input            clk;
  input            clk_en;
  input            reset_n;
  input            rx_rd_strobe;
  input            rxd;
  input            status_wr_strobe;

  reg              baud_clk_en;
  wire    [  8: 0] baud_load_value;
  reg     [  8: 0] baud_rate_counter;
  wire             baud_rate_counter_is_zero;
  reg              break_detect;
  reg              d1_source_rxd;
  reg              delayed_unxrx_in_processxx3;
  reg              delayed_unxsync_rxdxx1;
  reg              delayed_unxsync_rxdxx2;
  reg              do_start_rx;
  reg              framing_error;
  wire             got_new_char;
  wire    [  7: 0] half_bit_cell_divisor;
  wire             is_break;
  wire             is_framing_error;
  wire             parity_error;
  wire    [  7: 0] raw_data_in;
  reg              rx_char_ready;
  reg     [  7: 0] rx_data;
  wire             rx_in_process;
  reg              rx_overrun;
  wire             rx_rd_strobe_onset;
  wire             rxd_edge;
  wire             rxd_falling;
  wire    [  9: 0] rxd_shift_reg;
  wire             sample_enable;
  wire             shift_reg_start_bit_n;
  wire             source_rxd;
  wire             stop_bit;
  reg              sync_rxd;
  wire             unused_start_bit;
  wire    [  9: 0] unxshiftxrxd_shift_regxshift_reg_start_bit_nxx6_in;
  reg     [  9: 0] unxshiftxrxd_shift_regxshift_reg_start_bit_nxx6_out;
  uart_0_rx_stimulus_source the_uart_0_rx_stimulus_source
    (
      .baud_divisor  (baud_divisor),
      .clk           (clk),
      .clk_en        (clk_en),
      .reset_n       (reset_n),
      .rx_char_ready (rx_char_ready),
      .rxd           (rxd),
      .source_rxd    (source_rxd)
    );

  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
        begin
          d1_source_rxd <= 0;
          sync_rxd <= 0;
        end
      else if (clk_en)
        begin
          d1_source_rxd <= source_rxd;
          sync_rxd <= d1_source_rxd;
        end
    end


  //delayed_unxsync_rxdxx1, which is an e_register
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          delayed_unxsync_rxdxx1 <= 0;
      else if (clk_en)
          delayed_unxsync_rxdxx1 <= sync_rxd;
    end


  assign rxd_falling = ~(sync_rxd) &  (delayed_unxsync_rxdxx1);
  //delayed_unxsync_rxdxx2, which is an e_register
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          delayed_unxsync_rxdxx2 <= 0;
      else if (clk_en)
          delayed_unxsync_rxdxx2 <= sync_rxd;
    end


  assign rxd_edge = (sync_rxd) ^  (delayed_unxsync_rxdxx2);
  assign rx_rd_strobe_onset = rx_rd_strobe && begintransfer;
  assign half_bit_cell_divisor = baud_divisor[8 : 1];
  assign baud_load_value = (rxd_edge)? half_bit_cell_divisor :
    baud_divisor;

  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          baud_rate_counter <= 0;
      else if (clk_en)
          if (baud_rate_counter_is_zero || rxd_edge)
              baud_rate_counter <= baud_load_value;
          else 
            baud_rate_counter <= baud_rate_counter - 1;
    end


  assign baud_rate_counter_is_zero = baud_rate_counter == 0;
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          baud_clk_en <= 0;
      else if (clk_en)
          if (rxd_edge)
              baud_clk_en <= 0;
          else 
            baud_clk_en <= baud_rate_counter_is_zero;
    end


  assign sample_enable = baud_clk_en && rx_in_process;
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          do_start_rx <= 0;
      else if (clk_en)
          if (~rx_in_process && rxd_falling)
              do_start_rx <= 1;
          else 
            do_start_rx <= 0;
    end


  assign rx_in_process = shift_reg_start_bit_n;
  assign {stop_bit,
raw_data_in,
unused_start_bit} = rxd_shift_reg;
  assign is_break = ~(|rxd_shift_reg);
  assign is_framing_error = ~stop_bit && ~is_break;
  //delayed_unxrx_in_processxx3, which is an e_register
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          delayed_unxrx_in_processxx3 <= 0;
      else if (clk_en)
          delayed_unxrx_in_processxx3 <= rx_in_process;
    end


  assign got_new_char = ~(rx_in_process) &  (delayed_unxrx_in_processxx3);
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          rx_data <= 0;
      else if (got_new_char)
          rx_data <= raw_data_in;
    end


  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          framing_error <= 0;
      else if (clk_en)
          if (status_wr_strobe)
              framing_error <= 0;
          else if (got_new_char && is_framing_error)
              framing_error <= -1;
    end


  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          break_detect <= 0;
      else if (clk_en)
          if (status_wr_strobe)
              break_detect <= 0;
          else if (got_new_char && is_break)
              break_detect <= -1;
    end


  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          rx_overrun <= 0;
      else if (clk_en)
          if (status_wr_strobe)
              rx_overrun <= 0;
          else if (got_new_char && rx_char_ready)
              rx_overrun <= -1;
    end


  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          rx_char_ready <= 0;
      else if (clk_en)
          if (rx_rd_strobe_onset)
              rx_char_ready <= 0;
          else if (got_new_char)
              rx_char_ready <= -1;
    end


  assign parity_error = 0;
  //_reg, which is an e_register
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          unxshiftxrxd_shift_regxshift_reg_start_bit_nxx6_out <= 0;
      else if (clk_en)
          unxshiftxrxd_shift_regxshift_reg_start_bit_nxx6_out <= unxshiftxrxd_shift_regxshift_reg_start_bit_nxx6_in;
    end


  assign unxshiftxrxd_shift_regxshift_reg_start_bit_nxx6_in = (do_start_rx)? {10{1'b1}} :
    (sample_enable)? {sync_rxd,
    unxshiftxrxd_shift_regxshift_reg_start_bit_nxx6_out[9 : 1]} :
    unxshiftxrxd_shift_regxshift_reg_start_bit_nxx6_out;

  assign rxd_shift_reg = unxshiftxrxd_shift_regxshift_reg_start_bit_nxx6_out;
  assign shift_reg_start_bit_n = unxshiftxrxd_shift_regxshift_reg_start_bit_nxx6_out[0];


endmodule


module uart_0_regs (
                     // inputs:
                      address,
                      break_detect,
                      chipselect,
                      clk,
                      clk_en,
                      framing_error,
                      parity_error,
                      read_n,
                      reset_n,
                      rx_char_ready,
                      rx_data,
                      rx_overrun,
                      tx_overrun,
                      tx_ready,
                      tx_shift_empty,
                      write_n,
                      writedata,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久噜噜噜久久人人看| 国产精品美女久久福利网站| 国产精品69毛片高清亚洲| 一二三区精品视频| 久久一夜天堂av一区二区三区 | 麻豆精品在线看| 综合av第一页| 久久久久久久久97黄色工厂| 欧美精品一卡二卡| 色先锋久久av资源部| 高清shemale亚洲人妖| 另类成人小视频在线| 亚洲综合色区另类av| 国产日韩精品一区二区三区| 欧美成va人片在线观看| 欧美肥大bbwbbw高潮| 91精彩视频在线| 成人a区在线观看| 国产一区二区精品在线观看| 免费在线视频一区| 日韩高清不卡一区二区| 亚洲国产一区二区三区青草影视| 日韩精品久久久久久| 亚洲国产精品视频| 亚洲卡通欧美制服中文| 亚洲人成精品久久久久| 亚洲欧洲精品成人久久奇米网| 国产亚洲短视频| 久久久久9999亚洲精品| 精品国产凹凸成av人导航| 欧美精品99久久久**| 欧美日精品一区视频| 欧美日本免费一区二区三区| 在线观看91精品国产入口| 日本道免费精品一区二区三区| 91免费视频网址| 色偷偷久久一区二区三区| 色域天天综合网| 欧美视频一区二区三区四区| 欧美日韩国产色站一区二区三区| 91久久精品网| 欧美色手机在线观看| 欧美日高清视频| 成人免费的视频| 成人免费av在线| 久久不见久久见免费视频1| 国产日韩精品视频一区| 欧美在线观看视频一区二区三区| 狠狠色丁香婷婷综合| 亚洲色图制服诱惑| 久久九九99视频| 欧美一区二区三区白人| 欧美人伦禁忌dvd放荡欲情| 美女任你摸久久| 亚洲成av人**亚洲成av**| 亚洲一区免费视频| 同产精品九九九| 日本午夜一区二区| 国产精品亚洲专一区二区三区| 国产一区二区三区香蕉| 成人激情免费电影网址| 在线免费不卡视频| 欧美一区二区成人6969| 国产婷婷色一区二区三区| 亚洲人精品午夜| 日韩极品在线观看| 激情成人午夜视频| 91小视频在线| 欧美一区二区三区免费视频| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 日韩专区中文字幕一区二区| 极品少妇xxxx精品少妇| www.久久久久久久久| 欧美日韩成人高清| 国产丝袜在线精品| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲天堂av老司机| 日韩av中文在线观看| 国产盗摄一区二区| 欧美色图激情小说| 国产三级久久久| 日韩一区精品视频| a美女胸又www黄视频久久| 7777精品伊人久久久大香线蕉 | 国产高清久久久久| 欧美专区亚洲专区| 亚洲精品一区二区三区香蕉| 亚洲午夜久久久久中文字幕久| 韩国中文字幕2020精品| 色婷婷久久99综合精品jk白丝| 精品欧美一区二区久久| 亚洲影院理伦片| av电影在线观看完整版一区二区| 日韩一区二区在线看片| 亚洲欧美成人一区二区三区| 久久精品国产99国产| 91美女在线视频| 久久午夜免费电影| 天天色图综合网| 91视频精品在这里| 久久人人97超碰com| 香港成人在线视频| 91丝袜美腿高跟国产极品老师| 久久亚洲欧美国产精品乐播 | 韩国av一区二区三区四区 | 欧美视频在线一区| 国产精品色哟哟| 国内精品国产三级国产a久久| 欧美日韩国产经典色站一区二区三区| 国产欧美日韩精品a在线观看| 久久不见久久见免费视频1| 精品视频123区在线观看| 国产精品蜜臀在线观看| 国产精品一区免费在线观看| 欧美一区二区视频在线观看 | 91精品国产91综合久久蜜臀| 亚洲蜜桃精久久久久久久| 成人激情免费电影网址| 国产日韩欧美在线一区| 国产尤物一区二区在线| 精品久久久久久久久久久久久久久久久| 亚洲综合一二区| 色老头久久综合| 亚洲欧洲av色图| 91社区在线播放| 亚洲乱码国产乱码精品精小说| 99热精品国产| 亚洲女同一区二区| 91麻豆精东视频| 亚洲日本丝袜连裤袜办公室| 99精品久久99久久久久| 国产精品电影院| 色综合久久久久久久久久久| 亚洲三级视频在线观看| 成人av网址在线| 亚洲欧美韩国综合色| 欧美经典三级视频一区二区三区| 国产精品伊人色| 中文字幕免费不卡| 成人av集中营| 怡红院av一区二区三区| 欧美色倩网站大全免费| 午夜精品免费在线观看| 91精品在线免费| 精品一区二区三区免费播放| 久久久久久久久一| 成人不卡免费av| 亚洲综合激情小说| 69精品人人人人| 九色综合狠狠综合久久| 久久精品视频一区二区三区| 国产成人精品网址| 国产精品成人一区二区艾草| 色先锋aa成人| 日韩一区精品视频| 久久精品水蜜桃av综合天堂| 成人高清视频在线| 综合久久综合久久| 在线观看91av| 国内成人免费视频| 亚洲欧洲日韩女同| 欧美久久久影院| 国产美女久久久久| 亚洲色图清纯唯美| 欧美一级高清片| 成人免费高清视频| 性欧美大战久久久久久久久| 久久亚洲免费视频| 在线观看亚洲成人| 九九九精品视频| 亚洲欧美在线高清| 91精品国产麻豆国产自产在线 | 日本丶国产丶欧美色综合| 日韩电影在线免费看| 久久精品亚洲精品国产欧美 | 欧美日韩一区国产| 国产精品资源站在线| 亚洲一二三四久久| 2021久久国产精品不只是精品| 99久久免费国产| 精品一区在线看| 一区二区三区四区乱视频| 精品粉嫩aⅴ一区二区三区四区| 91在线精品一区二区三区| 免费黄网站欧美| 亚洲男人的天堂在线观看| www激情久久| 欧美美女直播网站| 岛国av在线一区| 免费精品99久久国产综合精品| 亚洲欧美日韩久久| 久久久综合九色合综国产精品| 欧美视频中文字幕| 99久久精品情趣| 国产精品66部| 青青草精品视频| 性欧美大战久久久久久久久| 亚洲三级免费电影| 欧美国产精品一区| 欧美精品一区二|