wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

Verilog HDL-鍵盤編程

作者:佚名   來源:本站原創   點擊數:  更新時間:2010年08月30日   【字體:

今天看了一下Verilog HDL的按鍵程序,收獲如下:

1、HDL硬件描述語言和一般的軟件編程語言有著很大的差別,它跟硬件是息息相關的,什么樣的HDL就有什么樣的硬件。要學會查看QII里面的RTL視圖,這個就是比較優略的地方。

2、Verliog HDL跟C的語法比較相近,但描述的方式有很大的不同,Verilog 里面跟多的是alawys塊,這個跟VHDL的進程有異曲同工之處啊。C跟時序不相關的多,但HDL跟時序太密切了,如果忘了這一點,理解程序就很麻煩了。

3、阻塞賦值跟非阻塞賦值也得深入的學習,往往會多出一個D觸發器來。

4、雖然每個alawys塊是并行的,但是上下兩個寄存器有聯系(<=)之后就差了一個時間周期,就像今天看的按鍵程序,剛開始看的云里霧里的,后來注意到了這一點,豁然慨然了。


     自從加入EDN助學—FPGA/CPLD助學小組之后,下載了許多特權同學的視頻教材,今天又把特權同學的按鍵程序看了一遍,終于有突破式的理解了。那么首先把程序黏貼如下:
 




`timescale 1ns / 1ps
//說明:當三個獨立按鍵的某一個被按下后,相應的LED被點亮;
//  再次按下后,LED熄滅,按鍵控制LED亮滅

module sw_debounce(
      clk,rst_n,
   sw1_n,sw2_n,sw3_n,
      led_d1,led_d2,led_d3
      );

input   clk; //主時鐘信號,50MHz
input   rst_n; //復位信號,低有效
input   sw1_n,sw2_n,sw3_n;  //三個獨立按鍵,低表示按下
output  led_d1,led_d2,led_d3; //發光二極管,分別由按鍵控制

//------------------------第一段--------------------------------------------------
reg[2:0] key_rst;  

always @(posedge clk  or negedge rst_n)
    if (!rst_n) key_rst <= 3'b111;
    else key_rst <= {sw3_n,sw2_n,sw1_n};

 

reg[2:0] key_rst_r;       //每個時鐘周期的上升沿將low_sw信號鎖存到low_sw_r中

always @ ( posedge clk  or negedge rst_n )
    if (!rst_n) key_rst_r <= 3'b111;
    else key_rst_r <= key_rst;
   
//當寄存器key_rst由1變為0時,key_an的值變為高,維持一個時鐘周期 
wire[2:0] key_an = key_rst_r & ( ~key_rst);

//---------------------第二段-----------------------------------------------------
reg[19:0]  cnt; //計數寄存器

always @ (posedge clk  or negedge rst_n)
    if (!rst_n) cnt <= 20'd0; //異步復位
 else if(key_an) cnt <=20'd0;  // 去掉干擾脈沖
    else cnt <= cnt + 1'b1;
  
reg[2:0] low_sw;

always @(posedge clk  or negedge rst_n)
    if (!rst_n) low_sw <= 3'b111;
    else if (cnt == 20'hfffff)  //滿20ms,將按鍵值鎖存到寄存器low_sw中  cnt == 20'hfffff
      low_sw <= {sw3_n,sw2_n,sw1_n};
      
//---------------------------------------------------------------------------
reg  [2:0] low_sw_r;       //每個時鐘周期的上升沿將low_sw信號鎖存到low_sw_r中

always @ ( posedge clk  or negedge rst_n )
    if (!rst_n) low_sw_r <= 3'b111;
    else low_sw_r <= low_sw;
   
//當寄存器low_sw由1變為0時,led_ctrl的值變為高,維持一個時鐘周期 
wire[2:0] led_ctrl = low_sw_r[2:0] & ( ~low_sw[2:0]);

reg d1;
reg d2;
reg d3;
  
always @ (posedge clk or negedge rst_n)
    if (!rst_n) begin
        d1 <= 1'b0;
        d2 <= 1'b0;
        d3 <= 1'b0;
      end
    else begin  //某個按鍵值變化時,LED將做亮滅翻轉
        if ( led_ctrl[0] ) d1 <= ~d1; 
        if ( led_ctrl[1] ) d2 <= ~d2;
        if ( led_ctrl[2] ) d3 <= ~d3;
      end

assign led_d3 = d1 ? 1'b1 : 1'b0;  //LED翻轉輸出
assign led_d2 = d2 ? 1'b1 : 1'b0;
assign led_d1 = d3 ? 1'b1 : 1'b0;
  
endmodule

然后就開始我的備忘了。

1、第一段程序中的key_rst和key_rst_r寄存器分別存儲著差一個時鐘周期的按鍵值, 這條語句 wire[2:0] key_an = key_rst_r & ( ~key_rst)的功能是檢測一個脈沖,也就是說當寄存器key_rst由1變為0時,key_an的值變為高,維持一個時鐘周期 ,這樣就檢測到了一個時鐘周期的脈沖。

2、第二段程序與第一段的程序有點相似,前兩個always語句里其實是做了一個20ms的計數,每隔20ms就會讀取鍵值,把這個鍵值放到寄存器low_sw中,接下來的一個always語句就是把low_sw的值鎖存到low_sw_r里,這樣以來,low_sw和low_sw_r就是前后兩個時鐘周期里的鍵值了,為什么要這樣呢?看下一個語句吧: 

wire [2:0] led_ctrl = low_sw_r[2:0] & ( ~low_sw[2:0]);

       仔細分析,你會發現當沒有鍵按下時,low_sw=low_sw_r=3’b111,此時的led_ctrl=3’b000;只有當low_sw和low_sw_r的某一位分別為0和1時,才可能使led_ctrl的值改變(也就是把led_ctrl的某一位拉高)。那么這意味著當鍵值由1跳變到0時才可能把led_ctrl拉高。回顧前面的20ms賦鍵值,也就是說每20ms內如果出現按鍵被按下,那么有一個時鐘周期里led_ctrl是會被拉高的,而再看后面的程序,led_ctrl的置高就使得相應的LED燈的亮滅做一次改變,這就達到了目的。

3、在單片機的按鍵檢測程序里,當按鍵按下后,然后延時20MS,再判斷是否按下,這樣就起到了按鍵去抖動的作用,而在FPGA中,HDL語言直接對應著實際的硬件電路,沒有單片機里的循環掃描的概念。
 

關閉窗口

相關文章

欧美主播福利视频| 佐山爱在线视频| 精品小视频在线| 天天免费综合色| 久久精品视频一区二区三区| 国产精品一线| av免费在线观看网址| 日韩一区免费视频| 性色av蜜臀av浪潮av老女人| 国产精品欧美一区二区| 欧美伦理91i| 亚洲成在人线在线播放| 久久精品国产99国产| 奇米777国产一区国产二区| 中文字幕不卡三区视频| 欧美hdsex| 一级免费a一片| 欧美性猛交99久久久久99| 在线观看黄色网| 欧美性猛交乱大交| 免费的一级黄色片| 91精品国产免费久久久久久| 日韩中文字幕视频| 欧美日韩三级一区| 久久久久久久久伊人| 国产一区二区久久| 要久久电视剧全集免费| 亚洲精品第一| 国产三级在线| 免费福利在线观看| 国产在线观看精品一区| 波多野结衣不卡| 色七七在线观看| 国产女女做受ⅹxx高潮| 国产v片免费观看| 日本a视频在线观看| 国产一区二区在线免费视频| 亚洲欧美国产精品| 91国产福利在线| 欧美性猛交xxxx乱大交蜜桃| 国产剧情一区二区| 好吊一区二区三区| 狠狠88综合久久久久综合网| 伊人成人在线| 欧美日韩大片| 成年女人的天堂在线| 久久久久久青草| av片在线看| 激情综合色综合啪啪开心| 午夜福利一区二区三区| 亚洲国产成人综合| 看黄色一级大片| 四虎精品永久在线| 婷婷综合福利| 欧美性猛交xxxx免费看久久| 在线免费观看一区二区| 免费高清在线观看电视| 男男做爰猛烈叫床爽爽小说| 亚洲自偷自拍熟女另类| 亚洲精品高清国产一线久久| 国产精品网站视频| 日韩欧美一区在线| 五月综合激情日本mⅴ| 久久久一区二区| 色婷婷久久久| a成人v在线| 婷婷成人激情| 桃花色综合影院| www..69.hd| 亚洲无码久久久久久久| 免费在线一区二区三区| 国产91av视频在线观看| 国产精彩精品视频| 欧美国产视频一区二区| 最新69国产成人精品视频免费| 91久久在线| 国产探花在线精品一区二区| 日韩中文字幕无砖| 免费在线小视频| 黄色免费在线观看| 免费a级在线播放| av在线三区| 久蕉依人在线视频| 亚洲男人资源| 在线免费看污| 视频在线91| 爽爽免费视频| 91短视频在线观看| 五月伊人六月| 黄页网站在线观看| 亚洲精华国产| 日韩偷拍自拍| 性一交一乱一乱一视频| 美国黄色a级片| 中文字幕亚洲欧洲| 国产天堂在线播放| 欧美日韩一区二区三| 动漫精品视频| 欧美激情啊啊啊| 色妞一区二区三区| 最近2019中文字幕一页二页| 中文字幕亚洲欧美日韩在线不卡| 亚洲精品99久久久久中文字幕| 中文字幕不卡一区| 美腿丝袜亚洲一区| 蜜桃传媒麻豆第一区在线观看| 日韩不卡手机在线v区| 麻豆精品视频在线观看免费| 国模大尺度一区二区三区| 国产欧美综合一区| 超碰超碰在线观看| 中文字幕第36页| 国产精品麻豆一区| 亚洲免费成人网| 亚洲综合爱爱久久网| 国产黄色免费网| 国产剧情av在线播放| 男人的天堂久久| 免费在线成人| 亚洲自拍欧美精品| 在线观看久久av| 国产精品免费观看高清| 国产毛片视频网站| 国精产品久拍自产在线网站| 五月婷婷开心中文字幕| 中文字幕在线视频网| 日韩一区二区三区四区五区| 亚洲成人最新网站| 国产亲近乱来精品视频| 亚洲第一偷拍网| 成人午夜激情网| 日韩视频在线免费看| 免费看黄色av| 四虎影在永久在线观看| 3d成人动漫在线| 中日韩免视频上线全都免费| 粉嫩欧美一区二区三区高清影视| 日韩欧美aaa| 久久久久久中文| 日韩在线欧美在线| 鬼打鬼之黄金道士1992林正英| 国产精品久久久久9999小说| 岛国片在线免费观看| 亚洲色图另类小说| 午夜在线免费观看视频| 国产精品最新| 中文字幕电影一区| 色妞一区二区三区| eeuss中文| 成人自拍小视频| 91网站观看| 天堂电影一区| 全部av―极品视觉盛宴亚洲| 色婷婷香蕉在线一区二区| 国产www精品| 91亚洲精华国产精华| 天天插天天操天天射| 国产精品人人爽| 瑟瑟在线观看| 精品国产一区二区三区av片| 国产精品三级av| 精品嫩草影院久久| 国产精品果冻传媒潘| 波多野结衣办公室双飞 | 吴梦梦av在线| 免费成人深夜夜行网站| 91麻豆产精品久久久久久夏晴子| 日本免费在线视频| 亚洲国产成人精品女人| 一区二区在线免费| 97国产精品视频人人做人人爱| 国产真实乱子伦| 99久久国产热无码精品免费| 国产一级免费看| 国产日韩电影| 成人性色生活片| 九九精品在线视频| 91精品国产三级| 韩日在线播放| 久久在线观看| 亚洲成国产人片在线观看| 91亚洲精品在线观看| 登山的目的在线| 中文在线播放| 123成人网| 国产亚洲美州欧州综合国| 91精品国产91久久久久久久久| 人妻av一区二区| www黄com| 国产精品原创视频| 久久久久久黄| 亚洲国内精品在线| 日韩欧美一区二| 天堂网在线观看视频| 电影亚洲精品噜噜在线观看| 国产情人综合久久777777| 国产精品扒开腿做| 我要看一级黄色录像| 国产亚洲依依| 精品制服美女丁香| 精品成人免费观看| 青青青免费在线| 欧美日韩一区二区三区视视频 | 美女精品导航| 成人免费毛片高清视频| 91大神福利视频在线| 91视频免费在观看| 午夜视频在线免费| 久久99精品国产麻豆婷婷| 九色91av视频| 国产女主播喷水高潮网红在线| 亚洲天堂电影在线观看| 亚州精品国产| 亚洲地区一二三色| 亚洲欧洲精品一区二区| caoporm在线视频| 99久久国产综合精品女小说| 视频国产一区| 欧美一区二区三区视频免费播放| 神马午夜伦理影院| 日本久久天堂| 精品日本12videosex| 日韩精品一区二区三区在线播放| 中国丰满人妻videoshd| www.91视频.com| 中文在线播放一区二区| 国产亚洲在线播放| 久久人人爽人人爽人人av| 最近中文字幕第一页| 夜夜春成人影院| 亚洲第一黄色网| 极品人妻一区二区| 亚亚洲欧洲精品| 成人国产精品免费观看动漫| 91香蕉电影院| 国产精品毛片一区视频播| 99国内精品久久久久| 欧美日韩久久久| 日韩肉感妇bbwbbwbbw| 最近中文字幕2019第二页视频| 亚洲欧美日韩国产综合精品二区| 欧美老少配视频| 国产一二三四区| 日韩在线伦理| 欧美性xxxxx极品| 毛片一区二区三区四区| 男男gay免费网站| 国产一区福利在线| 成人欧美在线观看| 国产免费一区二区三区最新不卡| 草莓视频一区二区三区| 精品久久久网站| 午夜视频在线观看国产| 触手亚洲一区二区三区| 国产精品久久久久久一区二区三区 | 亚洲精品在线不卡| 亚洲欧美日本一区| 欧美日本一道| 一级做a爱片久久| 青青视频在线播放| 老司机午夜激情| 9i在线看片成人免费| 欧美日韩综合精品| 国产日韩网站| 久久不射2019中文字幕| 国产精品免费看久久久香蕉| 91欧美日韩麻豆精品| 天堂俺去俺来也www久久婷婷| 亚洲欧美成人在线| 成年人看的免费视频| 中文字幕21页在线看| 日韩电影在线观看网站| 国产精品亚洲自拍| 亚洲国产欧美另类| 一区二区蜜桃| 全球成人中文在线| 国产绿帽刺激高潮对白| 久久中文亚洲字幕| 国内精品小视频在线观看| 你懂的国产在线| 亚洲毛片免费看| 欧美另类极品videosbest最新版本| 九九热在线免费观看| 欧美男男video| 福利一区福利二区微拍刺激| 欧美三级理论片| 免费人成在线观看网站| 亚洲色图欧美在线| 欧美日产一区二区三区在线观看| 四虎成人精品| 日本美女视频一区二区| 国产精选在线观看91| 精品久久亚洲一级α| 九九视频精品免费| 欧美日韩在线播放一区二区| 91专区视频| 99久久婷婷国产| 日韩av在线播放不卡| 精品国产一区二区三区四区阿崩| 中文字幕色av一区二区三区| 四虎永久在线精品无码视频| yourporn在线观看视频| 91极品美女在线| 在线免费观看日韩av| www免费网站在线观看| 午夜欧美在线一二页| 色姑娘综合天天| а√天堂8资源中文在线| 91精品国产91综合久久蜜臀| 99精品中文字幕| 麻豆国产一区| 欧美黑人性视频| 狠狠人妻久久久久久综合麻豆| 国产精品美女| 欧洲成人一区二区| 国产美女免费观看| 亚洲在线观看免费视频| av在线网站免费观看| 成人福利视频| 色偷偷888欧美精品久久久| 中文字幕欧美人妻精品| 午夜欧美精品久久久久久久| 国产成人av一区二区三区| 黄色网址多少| 国产乱人伦精品一区二区在线观看| 一本久道久久综合| 未来日记在线观看| 在线视频国产一区| 四虎884aa成人精品| 久久99国内| 成人国产精品久久久| 涩涩视频网站| 中文字幕五月欧美| 加勒比精品视频| 亚洲日本va| 日本精品久久久| www.国产| 最新日韩在线视频| 精品国产一区在线| 拍拍拍无挡免费播放视频在线观看| 91在线观看下载| 色噜噜狠狠永久免费| 欧美艳星kaydenkross| 久久精品国产一区二区电影| 亚洲黄色片视频| 国产不卡免费视频| 日本久久久久久久久久久久| 伊伊综合在线| 久久久噜久噜久久综合| 迷人的保姆韩国| 1区2区3区国产精品| 可以直接看的无码av| 欧美一级色片| 岛国视频一区| 日韩写真福利视频在线| 欧美精品久久99久久在免费线 | 在线播放亚洲精品| 天使萌一区二区三区免费观看| 麻豆映画在线观看| 日本在线观看高清完整版| 日本乱人伦aⅴ精品| 18精品爽视频在线观看| 黄色免费大全亚洲| 成人国产在线视频| 777影院狠狠色| 色婷婷国产精品| 日韩欧美国产亚洲| 国产精品午夜一区二区三区| 国产精品久久久久久久久久久久午夜片 | 一级片免费在线观看视频| 欧美一区一区| 92国产精品视频| 《视频一区视频二区| 国产乱人伦精品一区二区三区| 日本在线视频1区| 777午夜精品免费视频| 中文在线а√在线8| 久久国内精品一国内精品| 欧美一级欧美三级在线| 成人欧美一区二区三区小说 | 国产精品自拍视频一区| 在线综合亚洲| 欧美日本韩国国产| av在线资源站| 久久视频国产精品免费视频在线| 亚洲va国产日韩欧美精品色婷婷| 国产亚洲精品精华液| 加勒比一区二区| 亚洲乱码电影| 日韩黄色片在线| 丁香久久综合| 97伦理在线四区| 国产系列在线观看| www.日韩.com| 九九在线观看免费视频| 亚洲欧美国产毛片在线| 强行糟蹋人妻hd中文| 日韩精品一级中文字幕精品视频免费观看 | 欧美激情精品久久久久久黑人 | 精品久久久久一区二区三区|