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

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

?? high_res_timer.v

?? Altera公司開發板2s60 CF卡通用例程(初始化、讀、寫、測試等)
?? V
字號:
//Legal Notice: (C)2005 Altera Corporation. All rights reserved.  Your
//use of Altera Corporation's design tools, logic functions and other
//software and tools, and its AMPP partner logic functions, and any
//output files any of the foregoing (including device programming or
//simulation files), and any associated documentation or information are
//expressly subject to the terms and conditions of the Altera Program
//License Subscription Agreement or other applicable license agreement,
//including, without limitation, that your use is for the sole purpose
//of programming logic devices manufactured by Altera and sold by Altera
//or its authorized distributors.  Please refer to the applicable
//agreement for further details.

// synthesis translate_off
`timescale 1ns / 100ps
// synthesis translate_on
module high_res_timer (
                        // inputs:
                         address,
                         chipselect,
                         clk,
                         reset_n,
                         write_n,
                         writedata,

                        // outputs:
                         irq,
                         readdata
                      );

  output           irq;
  output  [ 15: 0] readdata;
  input   [  2: 0] address;
  input            chipselect;
  input            clk;
  input            reset_n;
  input            write_n;
  input   [ 15: 0] writedata;

  wire             clk_en;
  wire             control_continuous;
  wire             control_interrupt_enable;
  reg     [  3: 0] control_register;
  wire             control_wr_strobe;
  reg              counter_is_running;
  wire             counter_is_zero;
  wire    [ 31: 0] counter_load_value;
  reg     [ 31: 0] counter_snapshot;
  reg              delayed_unxcounter_is_zeroxx0;
  wire             do_start_counter;
  wire             do_stop_counter;
  reg              force_reload;
  reg     [ 31: 0] internal_counter;
  wire             irq;
  reg     [ 15: 0] period_h_register;
  wire             period_h_wr_strobe;
  reg     [ 15: 0] period_l_register;
  wire             period_l_wr_strobe;
  wire    [ 15: 0] read_mux_out;
  reg     [ 15: 0] readdata;
  wire             snap_h_wr_strobe;
  wire             snap_l_wr_strobe;
  wire    [ 31: 0] snap_read_value;
  wire             snap_strobe;
  wire             start_strobe;
  wire             status_wr_strobe;
  wire             stop_strobe;
  wire             timeout_event;
  reg              timeout_occurred;
  assign clk_en = 1;
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          internal_counter <= 32'hC350;
      else if (counter_is_running || force_reload)
          if (counter_is_zero    || force_reload)
              internal_counter <= counter_load_value;
          else 
            internal_counter <= internal_counter - 1;
    end


  assign counter_is_zero = internal_counter == 0;
  assign counter_load_value = {period_h_register,
    period_l_register};

  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          force_reload <= 0;
      else if (clk_en)
          force_reload <= period_h_wr_strobe || period_l_wr_strobe;
    end


  assign do_start_counter = start_strobe;
  assign do_stop_counter = (stop_strobe                            ) ||
    (force_reload                           ) ||
    (counter_is_zero && ~control_continuous );

  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          counter_is_running <= 1'b0;
      else if (clk_en)
          if (do_start_counter)
              counter_is_running <= -1;
          else if (do_stop_counter)
              counter_is_running <= 0;
    end


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


  assign timeout_event = (counter_is_zero) & ~(delayed_unxcounter_is_zeroxx0);
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          timeout_occurred <= 0;
      else if (clk_en)
          if (status_wr_strobe)
              timeout_occurred <= 0;
          else if (timeout_event)
              timeout_occurred <= -1;
    end


  assign irq = timeout_occurred && control_interrupt_enable;
  //s1, which is an e_avalon_slave
  assign read_mux_out = ({16 {(address == 2)}} & period_l_register) |
    ({16 {(address == 3)}} & period_h_register) |
    ({16 {(address == 4)}} & snap_read_value[15 : 0]) |
    ({16 {(address == 5)}} & snap_read_value[31 : 16]) |
    ({16 {(address == 1)}} & control_register) |
    ({16 {(address == 0)}} & {counter_is_running,
    timeout_occurred});

  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          readdata <= 0;
      else if (clk_en)
          readdata <= read_mux_out;
    end


  assign period_l_wr_strobe = chipselect && ~write_n && (address == 2);
  assign period_h_wr_strobe = chipselect && ~write_n && (address == 3);
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          period_l_register <= 50000;
      else if (period_l_wr_strobe)
          period_l_register <= writedata;
    end


  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          period_h_register <= 0;
      else if (period_h_wr_strobe)
          period_h_register <= writedata;
    end


  assign snap_l_wr_strobe = chipselect && ~write_n && (address == 4);
  assign snap_h_wr_strobe = chipselect && ~write_n && (address == 5);
  assign snap_strobe = snap_l_wr_strobe || snap_h_wr_strobe;
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          counter_snapshot <= 0;
      else if (snap_strobe)
          counter_snapshot <= internal_counter;
    end


  assign snap_read_value = counter_snapshot;
  assign control_wr_strobe = chipselect && ~write_n && (address == 1);
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          control_register <= 0;
      else if (control_wr_strobe)
          control_register <= writedata[3 : 0];
    end


  assign stop_strobe = writedata[3] && control_wr_strobe;
  assign start_strobe = writedata[2] && control_wr_strobe;
  assign control_continuous = control_register[1];
  assign control_interrupt_enable = control_register;
  assign status_wr_strobe = chipselect && ~write_n && (address == 0);


endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清hd18日本| 国产精品国产精品国产专区不片| 精品少妇一区二区三区| 日韩毛片一二三区| 视频一区中文字幕| 国产成人精品影视| 欧美日韩另类一区| 亚洲欧美一区二区三区极速播放 | 色狠狠一区二区三区香蕉| 538prom精品视频线放| 国产精品久久二区二区| 美女被吸乳得到大胸91| 欧美中文字幕一区| 亚洲欧美综合在线精品| 精品一区二区三区在线观看| 欧美亚洲尤物久久| 国产精品久久久久久久久果冻传媒| 蜜桃av噜噜一区| 欧美日韩国产另类一区| 亚洲久草在线视频| av成人免费在线观看| 久久综合久久综合九色| 日本怡春院一区二区| 欧美影院一区二区| 亚洲欧美日韩人成在线播放| 国产成人免费视频一区| 久久综合色之久久综合| 久久激情综合网| 884aa四虎影成人精品一区| 樱花草国产18久久久久| 色婷婷综合视频在线观看| 国产精品毛片高清在线完整版| 黄色精品一二区| 欧美mv和日韩mv国产网站| 日产精品久久久久久久性色| 欧美日韩黄色一区二区| 亚洲国产一区二区视频| 色老头久久综合| 一区二区三区产品免费精品久久75| 99久久99久久精品免费观看| 中文字幕亚洲成人| 不卡的电影网站| 1区2区3区欧美| 一本大道av伊人久久综合| 亚洲精品国产a| 欧美日韩国产系列| 日韩精品电影一区亚洲| 日韩一区二区免费在线观看| 久久精品国产99国产精品| 精品捆绑美女sm三区| 极品尤物av久久免费看| 2024国产精品视频| 成人激情小说网站| 亚洲乱码中文字幕| 欧美人牲a欧美精品| 久久国产精品99久久人人澡| 久久久久国产精品厨房| 波多野结衣中文字幕一区二区三区| 亚洲三级视频在线观看| 欧美日韩精品欧美日韩精品一| 秋霞电影网一区二区| 国产婷婷精品av在线| 色狠狠综合天天综合综合| 香蕉影视欧美成人| 久久午夜羞羞影院免费观看| 成人国产精品免费观看视频| 亚洲黄色小视频| 日韩三级视频在线观看| 成人国产精品视频| 日本欧美在线看| 久久综合久久鬼色中文字| 91影院在线观看| 久久成人久久爱| 亚洲青青青在线视频| 欧美一级午夜免费电影| 国产iv一区二区三区| 亚洲亚洲精品在线观看| 久久久久99精品一区| 欧美自拍丝袜亚洲| 国产一区二区在线看| 最新热久久免费视频| 日韩午夜精品电影| 欧洲av在线精品| 国产综合色视频| 亚洲丰满少妇videoshd| 国产精品美女久久久久久久久 | 青青草国产精品97视觉盛宴| 欧美国产在线观看| 337p亚洲精品色噜噜狠狠| 成人免费视频免费观看| 蜜臀精品久久久久久蜜臀| 亚洲精品日韩专区silk| 国产亚洲一区二区在线观看| 在线播放欧美女士性生活| 国产自产高清不卡| 日韩精品欧美精品| 亚洲色图都市小说| 日本一区二区成人| 欧美一二三在线| 欧美色精品在线视频| 成人高清伦理免费影院在线观看| 免费成人深夜小野草| 亚洲香肠在线观看| 在线成人免费视频| 亚洲国产成人91porn| 中文av字幕一区| 久久久亚洲欧洲日产国码αv| 69久久99精品久久久久婷婷| 色综合久久九月婷婷色综合| 高清视频一区二区| 国产精品一区二区久久精品爱涩 | 国产mv日韩mv欧美| 99re这里只有精品视频首页| 在线看日本不卡| 国产精品视频观看| 日韩在线观看一区二区| 自拍偷拍亚洲欧美日韩| 日韩欧美成人一区| 91精品国产一区二区人妖| 成人性视频免费网站| 精品在线亚洲视频| 欧美a级一区二区| 日韩高清国产一区在线| 日精品一区二区| 午夜精品爽啪视频| 亚洲一区二区免费视频| 亚洲va中文字幕| 亚洲一区二区视频| 亚洲成人一区二区| 日日夜夜精品免费视频| 欧美中文字幕久久| 99精品在线观看视频| 成人免费视频一区二区| 色天使色偷偷av一区二区| 99亚偷拍自图区亚洲| 91蝌蚪porny| 欧美特级限制片免费在线观看| 懂色一区二区三区免费观看| 另类综合日韩欧美亚洲| 久久毛片高清国产| 久久天天做天天爱综合色| 国产色产综合产在线视频| 国产精品全国免费观看高清| 亚洲天堂网中文字| 亚洲福利一区二区三区| 老鸭窝一区二区久久精品| 国产一本一道久久香蕉| www.亚洲色图| 欧美高清www午色夜在线视频| 精品福利二区三区| 国产精品国产自产拍在线| 午夜久久电影网| 精品中文字幕一区二区| 成人sese在线| 欧美日韩夫妻久久| 久久青草欧美一区二区三区| 亚洲情趣在线观看| 麻豆精品久久久| 91网页版在线| 日韩一级片网址| 一区二区中文字幕在线| 欧美aaaaa成人免费观看视频| 成人av综合在线| 欧美一区二区三区免费| 国产精品免费视频观看| 免费的成人av| 色婷婷国产精品| 久久免费看少妇高潮| 亚洲制服丝袜av| 成人免费va视频| 欧美成人精品高清在线播放| 综合中文字幕亚洲| 国产福利91精品一区二区三区| 欧美视频你懂的| 中文字幕第一区综合| 久久er精品视频| 欧美性高清videossexo| 国产精品短视频| 国产一区二区三区黄视频 | 波多野结衣亚洲一区| 911国产精品| 亚洲天天做日日做天天谢日日欢| 寂寞少妇一区二区三区| 欧美另类一区二区三区| 中文在线一区二区| 久草中文综合在线| 91久久精品一区二区二区| 久久看人人爽人人| 蜜桃一区二区三区在线观看| 欧美日韩亚洲丝袜制服| 亚洲欧美综合色| 粉嫩av一区二区三区粉嫩| 欧美精品一区二区三| 日韩av电影免费观看高清完整版在线观看| av在线这里只有精品| 国产天堂亚洲国产碰碰| 国产一区二区女| 久久网站热最新地址| 精品一区二区三区视频 | 色综合久久久久综合体桃花网|