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

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

?? high_res_timer.v

?? 基于NIOS的CF卡應用(包括了軟件和硬件),ALTERA的IP庫中只提供了底層的硬件寄存器描述頭文件.這是個基于IP核HAL的軟件,以及相應的硬件設計示例.
?? 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一区二区三区免费野_久草精品视频
亚洲欧洲精品一区二区三区不卡 | 精品国产91久久久久久久妲己| 99免费精品在线观看| 捆绑变态av一区二区三区| 午夜久久福利影院| 日本中文字幕不卡| 日韩电影在线一区二区三区| 亚洲综合在线电影| 午夜一区二区三区视频| 亚洲成a人片综合在线| 午夜精品久久久久久久久| 日韩毛片视频在线看| 精品国产乱码久久久久久1区2区 | 欧美韩日一区二区三区四区| 国产欧美中文在线| 国产午夜精品久久久久久免费视| 欧美一级片免费看| 久久久久国产精品免费免费搜索| 国产日韩一级二级三级| 国产精品久久久久久久久久免费看| 国产精品短视频| 亚洲成在线观看| 狠狠色狠狠色合久久伊人| 国产成人精品亚洲777人妖 | 国产成人一区在线| 91免费视频观看| 欧洲av一区二区嗯嗯嗯啊| 日韩一级免费观看| 国产欧美日韩在线看| 一区二区三区中文字幕在线观看| 午夜视频在线观看一区二区三区 | 亚洲国产精品一区二区久久| 免费高清视频精品| 成人精品鲁一区一区二区| 欧美性猛交一区二区三区精品| 宅男在线国产精品| 欧美精彩视频一区二区三区| 午夜精品久久久久久久久久| 国产黄色91视频| 欧美日韩一区二区不卡| 国产日韩欧美高清在线| 亚洲第一福利一区| 成人黄色片在线观看| 欧美裸体一区二区三区| 日本一区二区电影| 日本免费在线视频不卡一不卡二 | 欧美久久一区二区| 国产无人区一区二区三区| 亚洲地区一二三色| 成人免费va视频| 精品卡一卡二卡三卡四在线| 亚洲一区免费在线观看| 岛国精品一区二区| 日韩欧美你懂的| 调教+趴+乳夹+国产+精品| 91网站黄www| 国产精品婷婷午夜在线观看| 免费成人av在线播放| 日本高清无吗v一区| 国产日韩成人精品| 老司机精品视频线观看86 | 久久蜜桃一区二区| 青娱乐精品视频在线| 欧美三级视频在线观看| 综合激情成人伊人| 丁香婷婷综合色啪| 久久免费偷拍视频| 国产在线乱码一区二区三区| 91精品欧美福利在线观看| 亚洲精品一二三区| 99久久久久免费精品国产 | 亚洲第一久久影院| 91高清视频免费看| 亚洲精品乱码久久久久久日本蜜臀| 国产v综合v亚洲欧| 国产欧美一区二区精品性| 国产真实乱对白精彩久久| 678五月天丁香亚洲综合网| 午夜精品福利一区二区三区蜜桃| 99久久综合精品| 欧美日本高清视频在线观看| av中文字幕一区| 久久精品欧美一区二区三区不卡| 一区二区欧美国产| 91在线丨porny丨国产| 中文字幕在线观看一区| www.成人在线| 国产精品久久午夜| 日本韩国欧美三级| 天天av天天翘天天综合网色鬼国产| 51精品国自产在线| 久久激情五月激情| 国产色综合久久| av在线综合网| 亚洲aaa精品| 日韩欧美国产综合一区| 国产成人免费视频精品含羞草妖精| 国产免费成人在线视频| 在线日韩av片| 美女一区二区在线观看| 国产欧美一区二区三区网站| 处破女av一区二区| 亚洲大片在线观看| 久久丝袜美腿综合| 色婷婷国产精品| 五月婷婷激情综合| 久久久99精品久久| 99麻豆久久久国产精品免费 | 国产一区不卡精品| 亚洲精品中文字幕乱码三区| 日韩三区在线观看| 成人avav在线| 麻豆国产精品视频| 亚洲男人天堂av| 久久精品一区二区| 欧美高清视频不卡网| 成人美女视频在线看| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美日韩精品电影| 国产成人精品网址| 日韩精品国产欧美| 国产精品久久久久久久久晋中| 99国产一区二区三精品乱码| 亚洲天天做日日做天天谢日日欢| 97超碰欧美中文字幕| 日韩午夜在线观看| 五月综合激情日本mⅴ| 91精品久久久久久久久99蜜臂| 老司机精品视频导航| 日本一区二区三区在线观看| 91亚洲永久精品| 日韩高清欧美激情| 欧美一区二区三区四区视频| 国产一区二区精品久久91| 久久精品水蜜桃av综合天堂| 一本久久a久久精品亚洲| 7777精品伊人久久久大香线蕉的 | 日韩欧美国产三级| 日韩电影在线一区二区三区| 久久只精品国产| 色综合久久久久久久| 日韩高清国产一区在线| 中文字幕乱码日本亚洲一区二区 | 色综合欧美在线| 美国三级日本三级久久99| 精品国产91亚洲一区二区三区婷婷| 欧美中文字幕不卡| 国产精品一区在线观看乱码| 亚洲欧美日韩国产另类专区| 欧美电影免费观看高清完整版在线 | 捆绑调教美女网站视频一区| 欧美日韩mp4| 成人精品小蝌蚪| 亚洲高清免费在线| 日韩精品在线一区| 欧美午夜精品理论片a级按摩| 成人激情小说乱人伦| 日韩va亚洲va欧美va久久| 欧美老人xxxx18| 色哟哟国产精品免费观看| 国产在线播放一区二区三区| 亚洲成在线观看| 中文字幕字幕中文在线中不卡视频| 久久夜色精品国产欧美乱极品| 欧美精品 日韩| 91麻豆精品视频| 国产成人免费在线观看不卡| 日本午夜精品一区二区三区电影| 欧美一区二区三区色| 奇米一区二区三区av| 亚洲精品免费看| 综合激情成人伊人| 中文字幕va一区二区三区| 久久久精品tv| 精品福利在线导航| 日韩免费视频一区二区| 欧美曰成人黄网| 日本vs亚洲vs韩国一区三区二区| 国产精品嫩草99a| 色综合视频在线观看| 91在线porny国产在线看| 国产高清亚洲一区| 国产美女娇喘av呻吟久久| 久热成人在线视频| 日本aⅴ亚洲精品中文乱码| 日日夜夜精品免费视频| 性做久久久久久免费观看| 亚洲精选免费视频| 久久久久久久久久久黄色| 欧美日韩在线播放| 欧美色男人天堂| 欧美日韩激情一区二区| 欧美日韩一区 二区 三区 久久精品 | 欧美成人精品福利| 久久免费视频色| 国产精品每日更新在线播放网址 | 免费在线观看一区二区三区| 日韩1区2区日韩1区2区| 麻豆一区二区99久久久久| 精品中文av资源站在线观看|