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語言直接對應著實際的硬件電路,沒有單片機里的循環掃描的概念。
 

關閉窗口

相關文章

天堂网在线.www天堂在线视频| 欧美亚洲大陆| 欧美日韩视频免费在线观看| 亚洲五月综合| 黄色在线网站| 污污的视频网站在线观看| 亚洲人线精品午夜| 91老师国产黑色丝袜在线| 日本动漫理论片在线观看网站| 亚洲av成人精品日韩在线播放| 中文字幕精品亚洲| 看欧美ab黄色大片视频免费| 久中文字幕一区| 欧洲成人在线观看| 国产香蕉精品视频一区二区三区| 一区二区三区精品久久久| 国产呦萝稀缺另类资源| 亚欧精品一区| 精品国产福利一区二区在线| 成人黄色免费网| 日本在线一级片| 国产精品嫩草69影院| 男人添女人荫蒂免费视频| 中文字幕日韩av| 精品色蜜蜜精品视频在线观看| 国产成a人亚洲精| 91精品亚洲| 巨大黑人极品videos精品| 天堂资源中文在线| 青青草娱乐视频| 欧美熟妇交换久久久久久分类| 精品视频一区二区在线观看| 中文字幕一区二区三区四区在线视频| 日本一区二区三区视频在线观看 | 日韩视频免费中文字幕| 3d动漫精品啪啪一区二区竹菊| 一区二区三区精品在线| 2022国产精品视频| 国产·精品毛片| 热久久国产精品| 91久久综合| 91精品视频一区二区| 三级黄色的网站| 欧美粗暴性video| 噜噜噜久久,亚洲精品国产品| 香蕉影院在线观看| 久久久久久国产精品视频| 日韩中文字幕有码| 免费中文字幕av| 无码人妻一区二区三区免费n鬼沢| 久久精品视频91| 97在线中文字幕| 亚洲精品一区在线观看香蕉| 亚洲精品欧美二区三区中文字幕| 99精品欧美一区二区蜜桃免费| 狠狠色丁香九九婷婷综合五月| 欧美美女视频| 欧美人与拘性视交免费看| 麻豆久久一区| 亚洲综合影院| yellow在线观看网址| 久久国产精品一区| 116极品美女视频在线观看| 又黄又骚的视频| 91丨九色丨蝌蚪丨老板| 国产卡二和卡三的视频| 国产精品久久久精品a级小说| 四虎影视网站| 国产一级免费| 色视频免费版高清在线观看| 九九夜夜操妹子| 天天操夜夜欢| 久久久久久久久久久久久久久久久久久| 成人18网址在线观看| 2020天天干夜夜爽| 欧美福利网站| 一级二级三级在线观看| 免费在线黄色电影| av男人的天堂在线| 视频在线观看入口黄最新永久免费国产| 欧美巨大xxxx做受沙滩| 亚洲啊v在线| www.成人在线视频| 成人影院中文字幕| 精品国产一区二区三区香蕉沈先生| 精品国产不卡| 国产高潮在线| 亚洲我射av| 图片婷婷一区| 欧美影视一区| 国产欧美日韩精品一区二区三区| 日韩精品二区| 亚洲在线成人| 国产成人在线视频免费播放| 久久综合狠狠综合久久综合88| 国产精品欧美久久久久无广告| 亚洲制服丝袜av| 欧美性猛片aaaaaaa做受| 欧美精品三级日韩久久| 日韩电影网在线| 欧美情侣在线播放| 亚洲精品福利在线观看| 久久综合久久88| 国产精品视频不卡| 日本精品一区二区| 欧美牲交a欧美牲交aⅴ免费真| 天天久久综合网| 国产美女精品视频| 欧美区高清在线| 九九热只有这里有精品| 97超碰人人爽| 国产白丝一区二区三区| 亚洲国产果冻传媒av在线观看| 精品无人区无码乱码毛片国产| 国产xxxx视频| 日本a级片视频| 一级黄色免费片| 欧美妇性猛交视频| 日本最黄视频| av不卡高清| 里番精品3d一二三区| 在线观看视频日韩| 波多野结衣一区二区三区| 亚洲福利视频一区二区| 亚洲精品国产综合久久| 欧美自拍视频在线观看| 日本精品一区二区三区视频| 久久精品影视大全| 污污的视频在线免费观看| 99精品久久久久久中文字幕| 免费吸乳羞羞网站视频| 免费黄色网页在线观看| 永久免费精品视频| 模特精品在线| 亚洲欧洲三级电影| 亚洲精品一区二区三区精华液 | 美女又黄又免费的视频| 在线观看中文av| 日本裸体美女视频| 亚洲国产精品一| 四虎av网址| 日韩精品av| 久久久9色精品国产一区二区三区| 国产精品资源在线| 91视频免费播放| 欧美午夜视频在线观看| 精品女厕一区二区三区| 亚洲精品一二区| 亚洲一区二区免费| 自拍偷拍 国产| 久久久久性色av无码一区二区| 免费一区二区三区视频狠狠| 麻豆视频国产| 91大神在线网站| 久久久久97| 国产精品一区二区久久不卡| 欧美性生交大片免费| 欧美成人激情图片网| 日本高清久久一区二区三区 | 网站在线观看你懂的| 在线看免费av| 欧美精品第一区| 国产99精品视频| 欧美日韩免费观看一区三区| 97av在线视频| 成年人午夜免费视频| 国内毛片毛片毛片毛片毛片| 日本一线产区和二线产区| 牛牛影视精品影视| 四虎5151久久欧美毛片| 91在线视频官网| 日韩av最新在线| 精品乱码一区| 日韩av在线看免费观看| 五月天激情婷婷| 1pondo在线播放免费| 日韩欧美视频专区| 亚洲欧洲一区二区在线播放| 久久精品美女视频网站 | 97在线视频免费看| 奇米精品一区二区三区| 国产精品6666| 天干天干啦夜天天天视频| 欧美大胆成人| 久久精品国产久精国产爱| 欧美猛男男办公室激情| 91久久极品少妇xxxxⅹ软件| 国产精品日日摸夜夜爽| 天天干,夜夜操| 激情成人四房播| 国产精品99一区二区| 亚洲午夜在线电影| 国产99视频精品免视看7| 91日韩视频在线观看| 99精品在线视频观看| 国产高清av在线| 国产一区亚洲| 91国在线观看| 91原创国产| 日韩毛片无码永久免费看| 超碰91在线| 亚洲在线资源| 2020国产精品自拍| 久久精品国产一区| 九九视频精品在线观看| 丰满人妻一区二区三区免费| 超碰在线免费播放| 老司机午夜精品视频在线观看| 欧美三级视频在线| 久久99精品久久久久久水蜜桃| 欧美少妇性生活视频| 精品一区二区无码| 日日摸夜夜夜夜夜添| 成人av集中营| 99热这里都是精品| 久热精品视频在线观看一区| 欧美深夜福利视频| 国产无精乱码一区二区三区| 国产特级毛片| 色欧美自拍视频| 色综合久久88色综合天天6| 91精品综合视频| 日本高清一区二区视频| 中文字幕有码视频| 久草中文在线| 卡一卡二国产精品| 最新中文字幕亚洲| 久久久久久久片| 四虎永久免费影库二三区| 亚洲免费福利| 久久久久久久精| 热re99久久精品国产66热| 国产a级黄色片| 超污黄色软件| 成人羞羞网站| 欧美午夜影院一区| 一区二区精品免费视频| 激情网站在线观看| 搞黄网站在线观看| 国产成人免费在线| 午夜精品久久久久久99热软件| 国产亚洲精品成人a| 禁网站在线观看免费视频| 欧美热在线视频精品999| 色嗨嗨av一区二区三区| 亚洲丰满在线| 日韩经典在线观看| 99riav在线| 国产一区在线不卡| 久久久亚洲成人| 玖玖爱在线观看| 国产成a人亚洲精v品| 国产三级精品三级在线观看国产| 偷拍亚洲欧洲综合| 亚洲欧美日韩在线综合 | 欧美性猛交xxxx乱| 久草在线资源视频| 久久久久久久尹人综合网亚洲| 亚洲人成网7777777国产| 性生活免费在线观看| 免费看黄色的网站| 午夜视频精品| 伊人一区二区三区久久精品| 蜜桃视频无码区在线观看| xfav资源| 亚洲欧美日韩国产一区二区| 日韩一级裸体免费视频| 亚洲一级Av无码毛片久久精品| 3344永久| 青青草成人在线观看| 欧美—级高清免费播放| 永久免费观看片现看| 一区二区高清不卡| 久久精品一区二区国产| www.欧美三级电影.com| a视频免费观看| 国外av在线| 成人黄色大片在线观看| 成人免费观看网址| 国产精品麻豆一区| 国产三区四区在线观看| aaa欧美日韩| 岛国视频一区| www.午夜激情| 清纯唯美亚洲经典中文字幕| 欧美不卡一区二区三区四区| 亚洲一区二区福利视频| 午夜黄色一级片| 国产麻豆精品95视频| 成人综合网网址| 中国老头性行为xxxx| 欧美久久亚洲| 精品日韩欧美在线| 亚洲av无码一区二区三区观看| 男人的天堂在线| 久久久.com| 一区二区日本| 国产卡1卡2卡三卡在线| 樱桃成人精品视频在线播放| 国产综合在线看| 日韩精品一区不卡| 国偷自产av一区二区三区| 亚洲精品视频在线观看视频| 欧美多人猛交狂配| 精品精品导航| 精品美女永久免费视频| 欧美三级理论片| 女人天堂在线| 亚洲激情五月婷婷| heyzo亚洲| 在线观看成年人视频| 91一区二区三区在线观看| 日韩av大全| 91美剧网在线播放| 另类人妖一区二区av| 99影视tv| 欧美老头gaygay1069| 久久av最新网址| 成人在线看片| 欧美色欧美色| 日韩成人一级大片| 91超碰在线免费观看| 最好看更新中文字幕| 国产欧美欧美| 91成人免费看| 国产伪娘ts一区| 理论电影国产精品| 欧美日本韩国国产| 日本h视频在线观看| 日本久久久久| 亚洲天堂成人在线| 午夜精品三级久久久有码| 成人av地址| 另类视频在线观看| 伊人色综合久久久| 色婷婷热久久| 国产精品高潮呻吟久久av野狼| 狠狠躁日日躁夜夜躁av | 欧美www视频| а天堂中文在线资源| 日韩一级特黄| 色噜噜久久综合伊人一本| 日韩免费av网站| 不卡一区2区| 国产精品嫩草影院久久久| 五十路中文字幕| 精品在线一区二区| 亚洲国产精品毛片| 性视频在线播放| 亚洲一二三专区| 免费看91视频| 日韩三级影视| 永久免费毛片在线播放不卡| 亚洲另类欧美日韩| 99久久亚洲精品| 亚洲一区二区免费在线| 又黄又骚的视频| 国产亚洲精品aa| 美乳少妇欧美精品| 一区二区视频在线免费观看| 欧美极品一区二区三区| 俄罗斯精品一区二区| www.三级.com| 亚洲免费色视频| 手机免费看av片| 亚洲ww精品| 欧美激情一二区| 777琪琪电影午夜理伦片| 国产黄人亚洲片| 男人和女人啪啪网站| av网站免费在线观看| 日韩成人在线电影网| 销魂美女一区二区| 亚洲一区日本| 综合久久国产| chinesegaysextube| 亚洲国产成人在线| 国产xxxxhd| 日韩免费在线电影| 欧美激情视频一区二区三区不卡| 蜜桃视频污在线观看| 国产一区二区三区蝌蚪| 成 年 人 黄 色 大 片大 全| 二区三区四区高清视频在线观看| 亚洲第一页在线| 国产精品九九九九| 九一九一国产精品| 中文字幕乱码人妻综合二区三区 | 亚洲最大免费| 青青草免费观看免费视频在线| 欧美日韩精品一区二区| 国产在线综合网| 日韩视频精品在线观看| 91久热免费在线视频| 夜先锋av资源| 欧美日韩国产中字| 久久久久免费看| 国产视频一区免费看| 亚洲啊啊啊啊啊| missav|免费高清av在线看|