久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【正点原子FPGA连载】第七章 Verilog HDL语 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

發(fā)布時(shí)間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【正点原子FPGA连载】第七章 Verilog HDL语 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1)實(shí)驗(yàn)平臺(tái):正點(diǎn)原子領(lǐng)航者ZYNQ開發(fā)板
2)平臺(tái)購買地址:https://item.taobao.com/item.htm?&id=606160108761
3)全套實(shí)驗(yàn)源碼+手冊(cè)+視頻下載地址:http://www.openedv.com/thread-301505-1-1.html
4)對(duì)正點(diǎn)原子FPGA感興趣的同學(xué)可以加群討論:994244016
5)關(guān)注正點(diǎn)原子公眾號(hào),獲取最新資料更新

第七章 Verilog HDL語法

Verilog HDL(Hardware Description Language)是在用途最廣泛的C語言的基礎(chǔ)上發(fā)展起來的一種硬件描述語言,具有靈活性高、易學(xué)易用等特點(diǎn)。Verilog HDL可以在較短的時(shí)間內(nèi)學(xué)習(xí)和掌握,目前已經(jīng)在FPGA開發(fā)/IC設(shè)計(jì)領(lǐng)域占據(jù)絕對(duì)的領(lǐng)導(dǎo)地位。
本章包括以下幾個(gè)部分:
1.1 Verilog概述
1.2 Verilog基礎(chǔ)知識(shí)
1.3 Verilog程序框架
1.4 Verilog高級(jí)知識(shí)點(diǎn)
1.5 Verilog編程規(guī)范

1.1 Verilog概述

本節(jié)主要描述了Verilog HDL(以下簡稱Verilog)簡介、Verilog和VHDL以及和C語言的區(qū)別。
1.1.1 Verilog簡介
Verilog是一種硬件描述語言,以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言,用它可以表示邏輯電路圖、邏輯表達(dá)式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。
數(shù)字電路設(shè)計(jì)者利用這種語言,可以從頂層到底層逐層描述自己的設(shè)計(jì)思想,用一系列分層次的模塊來表示極其復(fù)雜的數(shù)字系統(tǒng)。然后利用電子設(shè)計(jì)自動(dòng)化(EDA)工具,逐層進(jìn)行仿真驗(yàn)證,再把其中需要變?yōu)閷?shí)際電路的模塊組合,經(jīng)過自動(dòng)綜合工具轉(zhuǎn)換到門級(jí)電路網(wǎng)表。接下來,再用專用集成電路ASIC或FPGA自動(dòng)布局布線工具,把網(wǎng)表轉(zhuǎn)換為要實(shí)現(xiàn)的具體電路結(jié)構(gòu)。
Verilog語言最初是于1983年由Gateway Design Automation公司為其模擬器產(chǎn)品開發(fā)的硬件建模語言。由于他們的模擬、仿真器產(chǎn)品的廣泛使用,Verilog HDL作為一種便于使用且實(shí)用的語言逐漸為眾多設(shè)計(jì)者所接受。在一次努力增加語言普及性的活動(dòng)中,Verilog HDL語言于1990年被推向公眾領(lǐng)域。Verilog語言于1995年成為IEEE標(biāo)準(zhǔn),稱為IEEE Std1364-1995,也就是通常所說的Verilog-95。
設(shè)計(jì)人員在使用Verilog-95的過程中發(fā)現(xiàn)了一些可改進(jìn)之處。為了解決用戶在使用此版本Verilog過程中反映的問題,Verilog進(jìn)行了修正和擴(kuò)展,這個(gè)擴(kuò)展后的版本后來成為了電氣電子工程師學(xué)會(huì)Std1364-2001標(biāo)準(zhǔn),即通常所說的Verilog-2001。Verilog-2001是對(duì)Verilog-95的一個(gè)重大改進(jìn)版本,它具備一些新的實(shí)用功能,例如敏感列表、多維數(shù)組、生成語句塊、命名端口連接等。目前,Verilog-2001是Verilog的最主流版本,被大多數(shù)商業(yè)電子設(shè)計(jì)自動(dòng)化軟件支持。
1.1.2 為什么需要Verilog
在FPGA設(shè)計(jì)里面,我們有多種設(shè)計(jì)方式,如原理圖設(shè)計(jì)方式、編寫描述語言(代碼)等方式。一開始很多工程師對(duì)原理圖設(shè)計(jì)方式很鐘愛,這種輸入方式能夠很直觀的看到電路結(jié)構(gòu)并快速理解,但是隨著電路設(shè)計(jì)規(guī)模的不斷增加,邏輯電路設(shè)計(jì)也越來越復(fù)雜,這種設(shè)計(jì)方式已經(jīng)越來越不滿足實(shí)際的項(xiàng)目需求了。這個(gè)時(shí)候Verilog語言就取而代之了,目前Verilog已經(jīng)在FPGA開發(fā)/IC設(shè)計(jì)領(lǐng)域占據(jù)絕對(duì)的領(lǐng)導(dǎo)地位。
1.1.3 Verilog和VHDL區(qū)別
這兩種語言都是用于數(shù)字電路系統(tǒng)設(shè)計(jì)的硬件描述語言,而且都已經(jīng)是IEEE的標(biāo)準(zhǔn)。 VHDL 1987年成為標(biāo)準(zhǔn),而Verilog是1995年才成為標(biāo)準(zhǔn)的。這是因?yàn)閂HDL是美國軍方組織開發(fā)的,而Verilog是由一個(gè)公司的私有財(cái)產(chǎn)轉(zhuǎn)化而來。為什么Verilog能成為IEEE標(biāo)準(zhǔn)呢?它一定有其獨(dú)特的優(yōu)越性才行,所以說Verilog有更強(qiáng)的生命力。
這兩者有其共同的特點(diǎn):

  • 能形式化地抽象表示電路的行為和結(jié)構(gòu);
  • 支持邏輯設(shè)計(jì)中層次與范圍地描述;
  • 可借用高級(jí)語言地精巧結(jié)構(gòu)來簡化電路行為和結(jié)構(gòu);
  • 支持電路描述由高層到低層的綜合轉(zhuǎn)換;
  • 硬件描述和實(shí)現(xiàn)工藝無關(guān)。
    但是兩者也各有特點(diǎn)。Verilog推出已經(jīng)有20年了,擁有廣泛的設(shè)計(jì)群體,成熟的資源,且Verilog容易掌握,只要有C語言的編程基礎(chǔ),通過比較短的時(shí)間,經(jīng)過一些實(shí)際的操作,可以在1個(gè)月左右掌握這種語言。而VHDL設(shè)計(jì)相對(duì)要難一點(diǎn),這個(gè)是因?yàn)閂HDL不是很直觀,一般認(rèn)為至少要半年以上的專業(yè)培訓(xùn)才能掌握。
    近10年來,EDA界一直在對(duì)數(shù)字邏輯設(shè)計(jì)中究竟用哪一種硬件描述語言爭論不休,目前在美國,高層次數(shù)字系統(tǒng)設(shè)計(jì)領(lǐng)域中,應(yīng)用Verilog和VHDL的比率是80%和20%;日本與中國臺(tái)灣和美國差不多;而在歐洲VHDL發(fā)展的比較好;在中國很多集成電路設(shè)計(jì)公司都采用Verilog。我們推薦大家學(xué)習(xí)Verilog,本教程全部的例程都是使用Verilog開發(fā)的。
    1.1.4 Verilog和C的區(qū)別
    Verilog是硬件描述語言,在編譯下載到FPGA之后,會(huì)生成電路,所以Verilog全部是并行處理與運(yùn)行的;C語言是軟件語言,編譯下載到單片機(jī)/CPU之后,還是軟件指令,而不會(huì)根據(jù)你的代碼生成相應(yīng)的硬件電路,而單片機(jī)/CPU處理軟件指令需要取址、譯碼、執(zhí)行,是串行執(zhí)行的。
    Verilog和C的區(qū)別也是FPGA和單片機(jī)/CPU的區(qū)別,由于FPGA全部并行處理,所以處理速度非常快,這個(gè)是FPGA的最大優(yōu)勢(shì),這一點(diǎn)是單片機(jī)/CPU替代不了的。
    1.2 Verilog基礎(chǔ)知識(shí)
    本節(jié)主要講解了Verilog的基礎(chǔ)知識(shí),包括5個(gè)小節(jié),下面我們分別給大家介紹這5個(gè)小節(jié)的內(nèi)容。
    1.2.1 Verilog的邏輯值
    我們先看下邏輯電路中有四種值,即四種狀態(tài):
    邏輯 0:表示低電平,也就是對(duì)應(yīng)我們電路的GND;
    邏輯 1:表示高電平,也就是對(duì)應(yīng)我們電路的VCC;
    邏輯 X:表示未知,有可能是高電平,也有可能是低電平;
    邏輯 Z:表示高阻態(tài),外部沒有激勵(lì)信號(hào)是一個(gè)懸空狀態(tài)。
    如下圖所示:
  • 圖 7.2.1.1 Verilog邏輯值
    1.2.2 Verilog的標(biāo)識(shí)符
    定義
    標(biāo)識(shí)符(identifier)用于定義模塊名、端口名和信號(hào)名等。Verilog的標(biāo)識(shí)符可以是任意一組字母、數(shù)字、和(下劃線)符號(hào)的組合,但標(biāo)識(shí)符的第一個(gè)字符必須是字母或者下劃線。另外,標(biāo)識(shí)符是區(qū)分大小寫的。以下是標(biāo)識(shí)符的幾個(gè)例子:CountCOUNT//與Count不同。R5668FIVE和_(下劃線)符號(hào)的組合,但標(biāo)識(shí)符的第一個(gè)字符必須是字母或者下劃線。另外,標(biāo)識(shí)符是區(qū)分大小寫的。以下是標(biāo)識(shí)符的幾個(gè)例子: Count COUNT //與Count不同。 R56_68 FIVE(?)號(hào)標(biāo)識(shí)個(gè)標(biāo)識(shí)區(qū)標(biāo)識(shí)個(gè)CountCOUNT//CountR566?8FIVE
    雖然標(biāo)識(shí)符寫法很多,但是要簡潔、清晰、易懂,推薦寫法如下:
    count
    fifo_wr
    不建議大小寫混合使用,普通內(nèi)部信號(hào)建議全部小寫,參數(shù)定義建議大寫,另外信號(hào)命名最好體現(xiàn)信號(hào)的含義。
    規(guī)范建議
    以下是一些書寫規(guī)范的要求:
    1、用有意義的有效的名字如sum、cpu_addr等。
    2、用下劃線區(qū)分詞語組合,如cpu_addr。
    3、采用一些前綴或后綴,比如:時(shí)鐘采用clk前綴:clk_50m,clk_cpu;低電平采用_n后綴:enable_n;
    4、統(tǒng)一縮寫,如全局復(fù)位信號(hào)rst。
    5、同一信號(hào)在不同層次保持一致性,如同一時(shí)鐘信號(hào)必須在各模塊保持一致。
    6、自定義的標(biāo)識(shí)符不能與保留字(關(guān)鍵詞)同名。
    7、參數(shù)統(tǒng)一采用大寫,如定義參數(shù)使用SIZE。
    1.2.3 Verilog的數(shù)字進(jìn)制格式
    Verilog數(shù)字進(jìn)制格式包括二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制,一般常用的為二進(jìn)制、十進(jìn)制和十六進(jìn)制。
    二進(jìn)制表示如下:4’b0101表示4位二進(jìn)制數(shù)字0101;
    十進(jìn)制表示如下:4’d2表示4位十進(jìn)制數(shù)字2(二進(jìn)制0010);
    十六進(jìn)制表示如下:4’ha表示4位十六進(jìn)制數(shù)字a(二進(jìn)制1010),十六進(jìn)制的計(jì)數(shù)方式為0,1,2…9,a,b,c,d,e,f,最大計(jì)數(shù)為f(f:十進(jìn)制表示為15)。
    當(dāng)代碼中沒有指定數(shù)字的位寬與進(jìn)制時(shí),默認(rèn)為32位的十進(jìn)制,比如100,實(shí)際上表示的值為32’d100。
    1.2.4 Verilog的數(shù)據(jù)類型
    在Verilog語法中,主要有三大類數(shù)據(jù)類型,即寄存器類型、線網(wǎng)類型和參數(shù)類型。從名稱中,我們可以看出,真正在數(shù)字電路中起作用的數(shù)據(jù)類型應(yīng)該是寄存器類型和線網(wǎng)類型。

  • 寄存器類型
    寄存器類型表示一個(gè)抽象的數(shù)據(jù)存儲(chǔ)單元,它只能在always語句和initial語句中被賦值,并且它的值從一個(gè)賦值到另一個(gè)賦值過程中被保存下來。如果該過程語句描述的是時(shí)序邏輯,即always語句帶有時(shí)鐘信號(hào),則該寄存器變量對(duì)應(yīng)為寄存器;如果該過程語句描述的是組合邏輯,即always語句不帶有時(shí)鐘信號(hào),則該寄存器變量對(duì)應(yīng)為硬件連線;寄存器類型的缺省值是x(未知狀態(tài))。
    寄存器數(shù)據(jù)類型有很多種,如reg、integer、real等,其中最常用的就是reg類型,它的使用方法如下:
  • //reg define reg [31:0] delay_cnt; //延時(shí)計(jì)數(shù)器 reg key_flag ; //按鍵標(biāo)志
  • 線網(wǎng)類型
    線網(wǎng)表示Verilog結(jié)構(gòu)化元件間的物理連線。它的值由驅(qū)動(dòng)元件的值決定,例如連續(xù)賦值或門的輸出。如果沒有驅(qū)動(dòng)元件連接到線網(wǎng),線網(wǎng)的缺省值為z(高阻態(tài))。線網(wǎng)類型同寄存器類型一樣也是有很多種,如tri和wire等,其中最常用的就是wire類型,它的使用方法如下:
    //wire define
    wire data_en; //數(shù)據(jù)使能信號(hào)
    wire [7:0] data ; //數(shù)據(jù)
  • 參數(shù)類型
    我們?cè)賮砜聪聟?shù)類型,參數(shù)其實(shí)就是一個(gè)常量,常被用于定義狀態(tài)機(jī)的狀態(tài)、數(shù)據(jù)位寬和延遲大小等,由于它可以在編譯時(shí)修改參數(shù)的值,因此它又常被用于一些參數(shù)可調(diào)的模塊中,使用戶在實(shí)例化模塊時(shí),可以根據(jù)需要配置參數(shù)。在定義參數(shù)時(shí),我們可以一次定義多個(gè)參數(shù),參數(shù)與參數(shù)之間需要用逗號(hào)隔開。這里我們需要注意的是參數(shù)的定義是局部的,只在當(dāng)前模塊中有效。它的使用方法如下:
    //parameter define
    parameter DATA_WIDTH = 8; //數(shù)據(jù)位寬為8位
    1.2.5 Verilog的運(yùn)算符
    大家看完了Verilog的數(shù)據(jù)類型,我們?cè)賮斫榻B下Verilog的運(yùn)算符。Verilog中的運(yùn)算符按照功能可以分為下述類型:1、算術(shù)運(yùn)算符、 2、關(guān)系運(yùn)算符、3、邏輯運(yùn)算符、 4、條件運(yùn)算符、 5、位運(yùn)算符、 6、移位運(yùn)算符、 7、拼接運(yùn)算符。下面我們分別對(duì)這些運(yùn)算符進(jìn)行介紹。
  • 算術(shù)運(yùn)算符
    算術(shù)運(yùn)算符,簡單來說,就是數(shù)學(xué)運(yùn)算里面的加減乘除,數(shù)字邏輯處理有時(shí)候也需要進(jìn)行數(shù)字運(yùn)算,所以需要算術(shù)運(yùn)算符。常用的算術(shù)運(yùn)算符主要包括加減乘除和模除(模除運(yùn)算也叫取余運(yùn)算)如下表所示:
    表 7.2.1 算術(shù)運(yùn)算符
    符號(hào) 使用方法 說明
    • a + b a 加上 b
    • a - b a 減去 b
    • a * b a 乘以 b
      / a / b a 除以 b
      % a % b a 模除 b
      大家要注意下,Verilog實(shí)現(xiàn)乘除比較浪費(fèi)組合邏輯資源,尤其是除法。一般2的指數(shù)次冪的乘除法使用移位運(yùn)算來完成運(yùn)算,詳情可以看移位運(yùn)算符章節(jié)。非2的指數(shù)次冪的乘除法一般是調(diào)用現(xiàn)成的IP,QUARTUS/ISE等工具軟件會(huì)有提供,不過這些工具軟件提供的IP也是由最底層的組合邏輯(與或非門等)搭建而成的。
  • 關(guān)系運(yùn)算符
    關(guān)系運(yùn)算符主要是用來做一些條件判斷用的,在進(jìn)行關(guān)系運(yùn)算符時(shí),如果聲明的關(guān)系是假的,則返回值是0,如果聲明的關(guān)系是真的,則返回值是1;所有的關(guān)系運(yùn)算符有著相同的優(yōu)先級(jí)別,關(guān)系運(yùn)算符的優(yōu)先級(jí)別低于算術(shù)運(yùn)算符的優(yōu)先級(jí)別如下表所示。
    表 7.2.2 關(guān)系運(yùn)算符
    符號(hào) 使用方法 說明
  • a > b a 大于 b
    < a < b a 小于 b
    = a >= b a 大于等于 b
    <= a <= b a 小于等于 b
    == a == b a 等于 b
    != a != b a 不等于 b

  • 邏輯運(yùn)算符
    邏輯運(yùn)算符是連接多個(gè)關(guān)系表達(dá)式用的,可實(shí)現(xiàn)更加復(fù)雜的判斷,一般不單獨(dú)使用,都需要配合具體語句來實(shí)現(xiàn)完整的意思,如下表所示。
    表 7.2.3 邏輯運(yùn)算符
    符號(hào) 使用方法 說明
    ! !a a的非,如果a為0,那么a的非是1。
    && a && b a 與上 b,如果a和b都為1,a&&b結(jié)果才為1,表示真。
    || a || b a 或上 b,如果a或者b有一個(gè)為1,a||b結(jié)果為1,表示真。
  • 條件運(yùn)算符
    條件操作符一般來構(gòu)建從兩個(gè)輸入中選擇一個(gè)作為輸出的條件選擇結(jié)構(gòu),功能等同于 always中的if-else語句,如下表所示。
    表 7.2.4 條件運(yùn)算符
    符號(hào) 使用方法 說明
    ? : a ? b : c 如果 a 為真,就選擇 b,否則選擇 c
  • 位運(yùn)算符
    位運(yùn)算符是一類最基本的運(yùn)算符,可以認(rèn)為它們直接對(duì)應(yīng)數(shù)字邏輯中的與、或、非門等邏輯門。常用的位運(yùn)算符如下表所示。
    表 7.2.5 位運(yùn)算符
    符號(hào) 使用方法 說明
    ~ ~a 將 a 的每個(gè)位進(jìn)行取反
    & a & b 將 a 的每個(gè)位與 b 相同的位進(jìn)行相與
    | a | b 將 a 的每個(gè)位與 b 相同的位進(jìn)行相或
    ^ a ^ b 將 a 的每個(gè)位與 b 相同的位進(jìn)行異或
    位運(yùn)算符的與、或、非與邏輯運(yùn)算符邏輯與、邏輯或、邏輯非使用時(shí)候容易混淆,邏輯運(yùn)算符一般用在條件判斷上,位運(yùn)算符一般用在信號(hào)賦值上。
  • 移位運(yùn)算符
    移位運(yùn)算符包括左移位運(yùn)算符和右移位運(yùn)算符,這兩種移位運(yùn)算符都用0來填補(bǔ)移出的空位。如下表所示。
    表 7.2.6 移位運(yùn)算符
    符號(hào) 使用方法 說明
    << a << b 將 a 左移 b 位
  • a >> b 將 a 右移 b 位
    假設(shè)a有8bit數(shù)據(jù)位寬,那么a<<2,表示a左移2bit,a還是8bit數(shù)據(jù)位寬,a的最高2bit數(shù)據(jù)被移位丟棄了,最低2bit數(shù)據(jù)固定補(bǔ)0。如果a是3(二進(jìn)制:00000011),那么3左移2bit,3<<2,就是12(二進(jìn)制:00001100)。一般使用左移位運(yùn)算代替乘法,右移位運(yùn)算代替除法,但是這種也只能表示2的指數(shù)次冪的乘除法。

  • 拼接運(yùn)算符
    Verilog中有一個(gè)特殊的運(yùn)算符是C語言中沒有的,就是位拼接運(yùn)算符。用這個(gè)運(yùn)算符可以把兩個(gè)或多個(gè)信號(hào)的某些位拼接起來進(jìn)行運(yùn)算操作。如下表所示。
    表 7.2.7 位拼接運(yùn)算符
    符號(hào) 使用方法 說明
    {} {a,b} 將 a 和 b 拼接起來,作為一個(gè)新信號(hào)
  • 運(yùn)算符的優(yōu)先級(jí)
    介紹完了這么多運(yùn)算符,大家可能會(huì)想到究竟哪個(gè)運(yùn)算符高,哪個(gè)運(yùn)算符低。為了便于大家查看這些運(yùn)算符的優(yōu)先級(jí),我們將它們制作成了表格,如下表所示。
    表 7.2.8 運(yùn)算符的優(yōu)先級(jí)
    運(yùn)算符 優(yōu)先級(jí)
    !、 ~ 最高
    *、 /、 % 次高
    +、 -
  • <<、 >>
    <、 <=、 >、 >=
    ==、 !=、 =、 !
    &
    ^、 ^~
    |
    &&
    || 次低
    ? 最低
    1.3 Verilog程序框架
    在介紹Verilog程序框架之前,我們先來看下Verilog一些基本語法,基礎(chǔ)語法主要包括注釋和關(guān)鍵字。
    1.3.1 注釋
    Verilog HDL中有兩種注釋的方式,一種是以“/”符號(hào)開始,“/”結(jié)束,在兩個(gè)符號(hào)之間的語句都是注釋語句,因此可擴(kuò)展到多行。如:
    /* statement1 ,
    statement2,

    statementn */
    以上n個(gè)語句都是注釋語句。
    另一種是以//開頭的語句,它表示以//開始到本行結(jié)束都屬于注釋語句。如:
    //statement1
    我們建議的寫法:使用//作為注釋。
    1.3.2 關(guān)鍵字
    Verilog和C語言類似,都因編寫需要定義了一系列保留字,叫做關(guān)鍵字(或關(guān)鍵詞)。這些保留字是識(shí)別語法的關(guān)鍵。我們給大家列出了Verilog中的關(guān)鍵字,如下表所示。
    表 7.3.1 Verilog的所有關(guān)鍵字

    and always assign begin buf bufif0 bufif1 case casex casez cmos deassign default defparam disable edge else end endcase endfunction endprimitive endmodule endspecify endtable endtask event for force forever fork function highz0 highz1 if ifnone initial inout input integer join large macromodule medium module nand negedge nor not notif0 notif1 nmos or output parameter pmos posedge primitive pulldown pullup pull0 pull1 rcmos real realtime reg release repeat rnmos rpmos rtran rtranif0 rtranif1 scalared small specify specparam strength strong0 strong1 supply0 supply1 table task tran tranif0 tranif1 time tri triand trior trireg tri0 tri1 vectored wait wand weak0 weak1 while wire wor xnor xor

    雖然上表列了很多,但是實(shí)際經(jīng)常使用的不是很多,實(shí)際經(jīng)常使用的主要如下表所示。
    表 7.3.2 Verilog常用的關(guān)鍵字
    關(guān)鍵字 含義
    module 模塊開始定義
    input 輸入端口定義
    output 輸出端口定義
    inout 雙向端口定義
    parameter 信號(hào)的參數(shù)定義
    wire wire信號(hào)定義
    reg reg信號(hào)定義
    always 產(chǎn)生reg信號(hào)語句的關(guān)鍵字
    assign 產(chǎn)生wire信號(hào)語句的關(guān)鍵字
    begin 語句的起始標(biāo)志
    end 語句的結(jié)束標(biāo)志
    posedge/negedge 時(shí)序電路的標(biāo)志
    case Case語句起始標(biāo)記
    default Case語句的默認(rèn)分支標(biāo)志
    endcase Case語句結(jié)束標(biāo)記
    if if/else語句標(biāo)記
    else if/else語句標(biāo)記
    for for語句標(biāo)記
    endmodule 模塊結(jié)束定義
    注意只有小寫的關(guān)鍵字才是保留字。例如,標(biāo)識(shí)符always(這是個(gè)關(guān)鍵詞)與標(biāo)識(shí)符ALWAYS(非關(guān)鍵詞)是不同的。
    1.3.3 程序框架
    我們以LED燈閃爍程序?yàn)槔齺斫o大家展示Verilog的程序框架,代碼如下所示(注意:代碼中前面的行號(hào)只是為了方便大家閱讀代碼與快速定位到行號(hào)的位置,在實(shí)際編寫代碼時(shí)不可以添加行號(hào),否則編譯代碼時(shí)會(huì)報(bào)錯(cuò))。

    1 module led( 2 input sys_clk , //系統(tǒng)時(shí)鐘 3 input sys_rst_n, //系統(tǒng)復(fù)位,低電平有效 4 output reg [3:0] led //4位LED燈 5 ); 6 7 //parameter define 8 parameter WIDTH = 25 ; 9 parameter COUNT_MAX = 25_000_000; //板載50M時(shí)鐘=20ns,0.5s/20ns=25000000,需要25bit 10 //位寬 11 12 //reg define 13 reg [WIDTH-1:0] counter ; 14 reg [1:0] led_ctrl_cnt; 15 16 //wire define 17 wire counter_en ; 18 19 //*********************************************************************************** 20 //** main code 21 //*********************************************************************************** 22 23 //計(jì)數(shù)到最大值時(shí)產(chǎn)生高電平使能信號(hào) 24 assign counter_en = (counter == (COUNT_MAX - 1'b1)) ? 1'b1 : 1'b0; 25 26 //用于產(chǎn)生0.5秒使能信號(hào)的計(jì)數(shù)器 27 always @(posedge sys_clk or negedge sys_rst_n) begin 28 if (sys_rst_n == 1'b0) 29 counter <= 1'b0; 30 else if (counter_en) 31 counter <= 1'b0; 32 else 33 counter <= counter + 1'b1; 34 end 35 36 //led流水控制計(jì)數(shù)器 37 always @(posedge sys_clk or negedge sys_rst_n) begin 38 if (sys_rst_n == 1'b0) 39 led_ctrl_cnt <= 2'b0; 40 else if (counter_en) 41 led_ctrl_cnt <= led_ctrl_cnt + 2'b1; 42 end 43 44 //通過控制IO口的高低電平實(shí)現(xiàn)發(fā)光二極管的亮滅 45 always @(posedge sys_clk or negedge sys_rst_n) begin 46 if (sys_rst_n == 1'b0) 47 led <= 4'b0; 48 else begin 49 case (led_ctrl_cnt) 50 2'd0 : led <= 4'b0001; 51 2'd1 : led <= 4'b0010; 52 2'd2 : led <= 4'b0100; 53 2'd3 : led <= 4'b1000; 54 default : ; 55 endcase 56 end 57 end 58 59 endmodule

    首先//開頭的都是注釋,這個(gè)之前我們講解過了。下面我們來看下具體的解釋。
    第1行為模塊定義,模塊定義以module開始,endmodule結(jié)束,如59行所示。
    其次2到5行為端口定義,需要定義led模塊的輸入信號(hào)和輸出信號(hào),此處輸入信號(hào)為系統(tǒng)時(shí)鐘和復(fù)位信號(hào),輸出為led控制信號(hào)。
    7到9行為參數(shù)parameter定義,語法如7到9行所示,定義parameter的好處是可以靈活改變參數(shù)數(shù)字就能控制一些計(jì)數(shù)器最大計(jì)數(shù)值或者信號(hào)位寬的最大位寬。
    12到14行為reg信號(hào)定義,reg信號(hào)一般情況下代表寄存器,比如此處控制0.5秒使能信號(hào)的計(jì)數(shù)器counter。
    16到17行為wire信號(hào)定義,wire信號(hào)就是硬件連線,比如此處的counter_en,代表計(jì)數(shù)到最大值時(shí)產(chǎn)生高電平使能,本質(zhì)上是一個(gè)硬件連線,其實(shí)代表的是一些計(jì)數(shù)器/寄存器做邏輯判斷的結(jié)果。
    19到21行為moudle開始的注釋,不添加工具綜合也不會(huì)報(bào)錯(cuò),但是我們推薦添加,作為一個(gè)良好的編程規(guī)范。
    23到24行為assign語句的樣式,條件成立選擇1,否則選擇0。
    26到34行是always語句的樣式,27行代表在時(shí)鐘上升沿或者復(fù)位的下降沿進(jìn)行信號(hào)觸發(fā)。begin/end代表語句的開始和結(jié)束。28到33行為if/else語句,和C語言是比較類似的。29行的“<=”標(biāo)記代表信號(hào)是非阻塞賦值,信號(hào)賦值有非阻塞賦值和阻塞賦值兩個(gè)方式,這個(gè)我們后面會(huì)詳細(xì)解釋。
    36和42行也是一個(gè)always語句,和26到34行類似。
    44和57行也是一個(gè)always語句,不過這個(gè)always語句中嵌入了一個(gè)case語句,case語句的語法如49到55行所示,需要一個(gè)case關(guān)鍵字開始,endcase關(guān)鍵字結(jié)束,default作為默認(rèn)分支,和C語言也是類似的。當(dāng)然case語句也可以用在不帶時(shí)鐘的always語句中,不過本例子的always都是帶有時(shí)鐘的。不帶時(shí)鐘的always和帶時(shí)鐘的always語句的差異這個(gè)我們后面也會(huì)詳細(xì)解釋。
    59行是endmodule標(biāo)記,代表模塊的結(jié)束。
    在這里需要補(bǔ)充一點(diǎn)的是,一些初學(xué)者可能會(huì)有這樣一個(gè)疑問,在always語句中編寫if語句或else語句時(shí),后面需要加begin和end嗎?其實(shí)這個(gè)主要看if條件后面跟著幾條賦值語句,如果只有一條賦值語句時(shí),if后面可以加begin和end,也可以不加;如果超過一條賦值語句時(shí),就必須加上begin和end。
    if條件只有一條賦值語句時(shí),下面兩種寫法都是可以的,這里更推薦第一種寫法,因?yàn)榈诙N寫法會(huì)占用更多的行號(hào),代碼如下所示:

    if(en == 1'b1)a <= 1'b1; 或者 if(en == 1'b1) begina <= 1'b1; end 對(duì)于if條件超過一條賦值語句的情況,必須添加begin和end,代碼如下所示: if(en == 1'b1) beginb <= 1'b1;c <= 1'b1; end

    好了,程序框架就講解完了,大家是不是覺得也很簡單呢?這些都是基本的語法規(guī)范,希望大家能記住這些基礎(chǔ)的知識(shí)點(diǎn)。如果有些地方大家還是覺得比較抽象,很難理解,沒有關(guān)系,相信大家會(huì)在后面的學(xué)習(xí)中,會(huì)慢慢理解的。
    1.4 Verilog高級(jí)知識(shí)點(diǎn)
    前幾節(jié)主要介紹了Verilog一些基礎(chǔ)的知識(shí)點(diǎn)和程序框架,本節(jié)給大家介紹一些高級(jí)的知識(shí)點(diǎn)。高級(jí)知識(shí)點(diǎn)包括阻塞賦值和非阻塞賦值、assign和always語句差異、什么是鎖存器、狀態(tài)機(jī)、模塊化設(shè)計(jì)等。
    1.4.1 阻塞賦值(Blocking)
    阻塞賦值,顧名思義,即在一個(gè)always塊中,后面的語句會(huì)受到前語句的影響,具體來說,在同一個(gè)always中,一條阻塞賦值語句如果沒有執(zhí)行結(jié)束,那么該語句后面的語句就不能被執(zhí)行,即被“阻塞”。也就是說always塊內(nèi)的語句是一種順序關(guān)系,這里和C語言很類似。符號(hào)“=”用于阻塞的賦值(如:b = a;),阻塞賦值“=”在begin和end之間的語句是順序執(zhí)行,屬于串行語句。
    在這里定義兩個(gè)縮寫:
    RHS:賦值等號(hào)右邊的表達(dá)式或變量可以寫作RHS表達(dá)式或RHS變量;
    LHS:賦值等號(hào)左邊的表達(dá)式或變量可以寫作LHS表達(dá)式或LHS變量;
    阻塞賦值的執(zhí)行可以認(rèn)為是只有一個(gè)步驟的操作,即計(jì)算RHS的值并更新LHS,此時(shí)不允許任何其他語句的干擾,所謂的阻塞的概念就是值在同一個(gè)always塊中,其后面的賦值語句從概念上來講是在前面一條語句賦值完成后才執(zhí)行的。
    為了方便大家理解阻塞賦值的概念以及阻塞賦值和非阻塞賦值的區(qū)別,我們這里以在時(shí)序邏輯下使用阻塞賦值為例來實(shí)現(xiàn)這樣一個(gè)功能:在復(fù)位的時(shí)候,a=1,b=2,c=3;而在沒有復(fù)位的時(shí)候,a的值清零,同時(shí)將a的值賦值給b,b的值賦值給c,代碼以及信號(hào)波形圖如下圖所示:

    圖 7.4.1.1 阻塞賦值代碼

    圖 7.4.1.2 阻塞賦值的信號(hào)波形圖
    代碼中使用的是阻塞賦值語句,從波形圖中可以看到,在復(fù)位的時(shí)候(rst_n=0),a=1,b=2,c=3;而結(jié)束復(fù)位之后(波形圖中的0時(shí)刻),當(dāng)clk的上升沿到來時(shí)(波形圖中的2時(shí)刻),a=0,b=0,c=0。這是因?yàn)樽枞x值是在當(dāng)前語句執(zhí)行完成之后,才會(huì)執(zhí)行后面的賦值語句,因此首先執(zhí)行的是a=0,賦值完成后將a的值賦值給b,由于此時(shí)a的值已經(jīng)為0,所以b=a=0,最后執(zhí)行的是將b的值賦值給c,而b的值已經(jīng)賦值為0,所以c的值同樣等于0。
    1.4.2 非阻塞賦值(Non-Blocking)
    符號(hào)“<=”用于非阻塞賦值(如:b <= a;),非阻塞賦值是由時(shí)鐘節(jié)拍決定,在時(shí)鐘上升到來時(shí),執(zhí)行賦值語句右邊,然后將begin-end之間的所有賦值語句同時(shí)賦值到賦值語句的左邊,注意:是begin—end之間的所有語句,一起執(zhí)行,且一個(gè)時(shí)鐘只執(zhí)行一次,屬于并行執(zhí)行語句。這個(gè)是和C語言最大的一個(gè)差異點(diǎn),大家要逐步理解并行執(zhí)行的概念。
    非阻塞賦值的操作過程可以看作兩個(gè)步驟:
    (1)賦值開始的時(shí)候,計(jì)算RHS;
    (2)賦值結(jié)束的時(shí)候,更新LHS。
    所謂的非阻塞的概念是指,在計(jì)算非阻塞賦值的RHS以及LHS期間,允許其它的非阻塞賦值語句同時(shí)計(jì)算RHS和更新LHS。
    我們下面使用非阻塞賦值同樣來實(shí)現(xiàn)這樣一個(gè)功能:在復(fù)位的時(shí)候,a=1,b=2,c=3;而在沒有復(fù)位的時(shí)候,a的值清零,同時(shí)將a的值賦值給b,b的值賦值給c,代碼以及信號(hào)波形圖如下圖所示:

    圖 7.4.2.1 非阻塞賦值代碼

    圖 7.4.2.2 非阻塞賦值的信號(hào)波形圖
    代碼中使用的是非阻塞賦值語句,從波形圖中可以看到,在復(fù)位的時(shí)候(rst_n=0),a=1,b=2,c=3;而結(jié)束復(fù)位之后(波形圖中的0時(shí)刻),當(dāng)clk的上升沿到來時(shí)(波形圖中的2時(shí)刻),a=0,b=1,c=2。這是因?yàn)榉亲枞x值在計(jì)算RHS和更新LHS期間,允許其它的非阻塞賦值語句同時(shí)計(jì)算RHS和更新LHS。在波形圖中的2時(shí)刻,RHS的表達(dá)是0、a、b,分別等于0、1、2,這三條語句是同時(shí)更新LHS,所以a、b、c的值分別等于0、1、2。
    在了解了阻塞賦值和非阻塞賦值的區(qū)別之后,有些朋友可能還是對(duì)什么時(shí)候使用阻塞賦值,什么時(shí)候使用非阻塞賦值有些疑惑,在這里給大家總結(jié)如下。
    在描述組合邏輯電路的時(shí)候,使用阻塞賦值,比如assign賦值語句和不帶時(shí)鐘的always賦值語句,這種電路結(jié)構(gòu)只與輸入電平的變化有關(guān)系,代碼如下:
    示例1:assign賦值語句
    assign data = (data_en == 1’b1) ? 8’d255 : 8’d0;
    示例2:不帶時(shí)鐘的always語句

    always @(*) beginif (en) begina = a0;b = b0;endelse begina = a1;b = b1;end end

    在描述時(shí)序邏輯的時(shí)候,使用非阻塞賦值,綜合成時(shí)序邏輯的電路結(jié)構(gòu),比如帶時(shí)鐘的always語句;這種電路結(jié)構(gòu)往往與觸發(fā)沿有關(guān)系,只有在觸發(fā)沿時(shí)才可能發(fā)生賦值的變化,代碼如下:
    示例3:

    always @(posedge sys_clk or negedge sys_rst_n) begin if (!sys_rst_n) begina <= 1'b0;b <= 1'b0;endelse begina <= c;b <= d;end end

    1.4.3 assign和always區(qū)別
    assign語句和always語句是Verilog中的兩個(gè)基本語句,這兩個(gè)都是經(jīng)常使用的語句。
    assign語句使用時(shí)不能帶時(shí)鐘。
    always語句可以帶時(shí)鐘,也可以不帶時(shí)鐘。在always不帶時(shí)鐘時(shí),邏輯功能和assign完全一致,都是只產(chǎn)生組合邏輯。比較簡單的組合邏輯推薦使用assign語句,比較復(fù)雜的組合邏輯推薦使用always語句。示例如下:
    24 assign counter_en = (counter == (COUNT_MAX - 1’b1)) ? 1’b1 : 1’b0;

    45 always @(*) begin 49 case (led_ctrl_cnt) 50 2'd0 : led = 4'b0001; 51 2'd1 : led = 4'b0010; 52 2'd2 : led = 4'b0100; 53 2'd3 : led = 4'b1000; 54 default : led = 4'b0000; 55 endcase 57 end

    1.4.4 帶時(shí)鐘和不帶時(shí)鐘的always
    always語句可以帶時(shí)鐘,也可以不帶時(shí)鐘。在always不帶時(shí)鐘時(shí),邏輯功能和assign完全一致,雖然產(chǎn)生的信號(hào)定義還是reg類型,但是該語句產(chǎn)生的還是組合邏輯。

    44 reg [3:0] led; 45 always @(*) begin 49 case (led_ctrl_cnt) 50 2'd0 : led = 4'b0001; 51 2'd1 : led = 4'b0010; 52 2'd2 : led = 4'b0100; 53 2'd3 : led = 4'b1000; 54 default : led = 4'b0000; 55 endcase 57 end

    在always帶時(shí)鐘信號(hào)時(shí),這個(gè)邏輯語句才能產(chǎn)生真正的寄存器,如下示例counter就是真正的寄存器。

    26 //用于產(chǎn)生0.5秒使能信號(hào)的計(jì)數(shù)器 27 always @(posedge sys_clk or negedge sys_rst_n) begin 28 if (sys_rst_n == 1'b0) 29 counter <= 1'b0; 30 else if (counter_en) 31 counter <= 1'b0; 32 else 33 counter <= counter + 1'b1; 34 end

    1.4.5 什么是latch
    latch是指鎖存器,是一種對(duì)脈沖電平敏感的存儲(chǔ)單元電路。鎖存器和寄存器都是基本存儲(chǔ)單元,鎖存器是電平觸發(fā)的存儲(chǔ)器,寄存器是邊沿觸發(fā)的存儲(chǔ)器。兩者的基本功能是一樣的,都可以存儲(chǔ)數(shù)據(jù)。鎖存器是組合邏輯產(chǎn)生的,而寄存器是在時(shí)序電路中使用,由時(shí)鐘觸發(fā)產(chǎn)生的。
    latch的主要危害是會(huì)產(chǎn)生毛刺(glitch),這種毛刺對(duì)下一級(jí)電路是很危險(xiǎn)的。并且其隱蔽性很強(qiáng),不易查出。因此,在設(shè)計(jì)中,應(yīng)盡量避免latch的使用。
    代碼里面出現(xiàn)latch的兩個(gè)原因是在組合邏輯中,if或者case語句不完整的描述,比如if缺少else分支,case缺少default分支,導(dǎo)致代碼在綜合過程中出現(xiàn)了latch。解決辦法就是if必須帶else分支,case必須帶default分支。
    大家需要注意下,只有不帶時(shí)鐘的always語句if或者case語句不完整才會(huì)產(chǎn)生latch,帶時(shí)鐘的語句if或者case語句不完整描述不會(huì)產(chǎn)生latch。
    下面為缺少else分支的帶時(shí)鐘的always語句和不帶時(shí)鐘的always語句,通過實(shí)際產(chǎn)生的電路圖可以看到第二個(gè)是有一個(gè)latch的,第一個(gè)仍然是普通的帶有時(shí)鐘的寄存器。

    圖 7.4.5.1 缺少else的帶時(shí)鐘的always語句電路圖

    圖 7.4.5.2 缺少else的不帶時(shí)鐘的always語句電路圖
    1.4.6 狀態(tài)機(jī)
    Verilog是硬件描述語言,硬件電路是并行執(zhí)行的,當(dāng)需要按照流程或者步驟來完成某個(gè)功能時(shí),代碼中通常會(huì)使用很多個(gè)if嵌套語句來實(shí)現(xiàn),這樣就增加了代碼的復(fù)雜度,以及降低了代碼的可讀性,這個(gè)時(shí)候就可以使用狀態(tài)機(jī)來編寫代碼。狀態(tài)機(jī)相當(dāng)于一個(gè)控制器,它將一項(xiàng)功能的完成分解為若干步,每一步對(duì)應(yīng)于二進(jìn)制的一個(gè)狀態(tài),通過預(yù)先設(shè)計(jì)的順序在各狀態(tài)之間進(jìn)行轉(zhuǎn)換,狀態(tài)轉(zhuǎn)換的過程就是實(shí)現(xiàn)邏輯功能的過程。
    狀態(tài)機(jī),全稱是有限狀態(tài)機(jī)(Finite State Machine,縮寫為FSM),是一種在有限個(gè)狀態(tài)之間按一定規(guī)律轉(zhuǎn)換的時(shí)序電路,可以認(rèn)為是組合邏輯和時(shí)序邏輯的一種組合。狀態(tài)機(jī)通過控制各個(gè)狀態(tài)的跳轉(zhuǎn)來控制流程,使得整個(gè)代碼看上去更加清晰易懂,在控制復(fù)雜流程的時(shí)候,狀態(tài)機(jī)優(yōu)勢(shì)明顯,因此基本上都會(huì)用到狀態(tài)機(jī),如SDRAM控制器等。在本手冊(cè)提供的例程中,會(huì)有多個(gè)用到狀態(tài)機(jī)設(shè)計(jì)的例子,希望大家能夠慢慢體會(huì)和理解,并且能夠熟練掌握。
    根據(jù)狀態(tài)機(jī)的輸出是否與輸入條件相關(guān),可將狀態(tài)機(jī)分為兩大類,即摩爾(Moore)型狀態(tài)機(jī)和米勒(Mealy)型狀態(tài)機(jī)。
    ? Mealy狀態(tài)機(jī):組合邏輯的輸出不僅取決于當(dāng)前狀態(tài),還取決于輸入狀態(tài)。
    ? Moore狀態(tài)機(jī):組合邏輯的輸出只取決于當(dāng)前狀態(tài)。

  • Mealy狀態(tài)機(jī)
    米勒狀態(tài)機(jī)的模型如下圖所示,模型中第一個(gè)方框是指產(chǎn)生下一狀態(tài)的組合邏輯F,F是當(dāng)前狀態(tài)和輸入信號(hào)的函數(shù),狀態(tài)是否改變、如何改變,取決于組合邏輯F的輸出;第二框圖是指狀態(tài)寄存器,其由一組觸發(fā)器組成,用來記憶狀態(tài)機(jī)當(dāng)前所處的狀態(tài),狀態(tài)的改變只發(fā)生在時(shí)鐘的跳邊沿;第三個(gè)框圖是指產(chǎn)生輸出的組合邏輯G,狀態(tài)機(jī)的輸出是由輸出組合邏輯G提供的,G也是當(dāng)前狀態(tài)和輸入信號(hào)的函數(shù)。
  • 圖 7.4.6.1 Mealy狀態(tài)機(jī)模型
    2) Moore狀態(tài)機(jī)
    摩爾狀態(tài)機(jī)的模型如下圖所示,對(duì)比米勒狀態(tài)機(jī)的模型可以發(fā)現(xiàn),其區(qū)別在于米勒狀態(tài)機(jī)的輸出由當(dāng)前狀態(tài)和輸入條件決定的,而摩爾狀態(tài)機(jī)的輸出只取決于當(dāng)前狀態(tài)。

    圖 7.4.6.2 Moore狀態(tài)機(jī)模型
    3) 三段式狀態(tài)機(jī)
    根據(jù)狀態(tài)機(jī)的實(shí)際寫法,狀態(tài)機(jī)還可以分為一段式、二段式和三段式狀態(tài)機(jī)。
    一段式:整個(gè)狀態(tài)機(jī)寫到一個(gè)always模塊里面,在該模塊中既描述狀態(tài)轉(zhuǎn)移,又描述狀態(tài)的輸入和輸出。不推薦采用這種狀態(tài)機(jī),因?yàn)閺拇a風(fēng)格方面來講,一般都會(huì)要求把組合邏輯和時(shí)序邏輯分開;從代碼維護(hù)和升級(jí)來說,組合邏輯和時(shí)序邏輯混合在一起不利于代碼維護(hù)和修改,也不利于約束。
    二段式:用兩個(gè)always模塊來描述狀態(tài)機(jī),其中一個(gè)always模塊采用同步時(shí)序描述狀態(tài)轉(zhuǎn)移;另一個(gè)模塊采用組合邏輯判斷狀態(tài)轉(zhuǎn)移條件,描述狀態(tài)轉(zhuǎn)移規(guī)律以及輸出。不同于一段式狀態(tài)機(jī)的是,它需要定義兩個(gè)狀態(tài),現(xiàn)態(tài)和次態(tài),然后通過現(xiàn)態(tài)和次態(tài)的轉(zhuǎn)換來實(shí)現(xiàn)時(shí)序邏輯。
    三段式:在兩個(gè)always模塊描述方法基礎(chǔ)上,使用三個(gè)always模塊,一個(gè)always模塊采用同步時(shí)序描述狀態(tài)轉(zhuǎn)移,一個(gè)always采用組合邏輯判斷狀態(tài)轉(zhuǎn)移條件,描述狀態(tài)轉(zhuǎn)移規(guī)律,另一個(gè)always模塊描述狀態(tài)輸出(可以用組合電路輸出,也可以時(shí)序電路輸出)。
    實(shí)際應(yīng)用中三段式狀態(tài)機(jī)使用最多,因?yàn)槿问綘顟B(tài)機(jī)將組合邏輯和時(shí)序分開,有利于綜合器分析優(yōu)化以及程序的維護(hù);并且三段式狀態(tài)機(jī)將狀態(tài)轉(zhuǎn)移與狀態(tài)輸出分開,使代碼看上去更加清晰易懂,提高了代碼的可讀性,推薦大家使用三段式狀態(tài)機(jī),本文也著重講解三段式。
    三段式狀態(tài)機(jī)的基本格式是:
    第一個(gè)always語句實(shí)現(xiàn)同步狀態(tài)跳轉(zhuǎn);
    第二個(gè)always語句采用組合邏輯判斷狀態(tài)轉(zhuǎn)移條件;
    第三個(gè)always語句描述狀態(tài)輸出(可以用組合電路輸出,也可以時(shí)序電路輸出)。
    在開始編寫狀態(tài)機(jī)代碼之前,一般先畫出狀態(tài)跳轉(zhuǎn)圖,這樣在編寫代碼時(shí)思路會(huì)比較清晰,下面以一個(gè)7分頻為例(對(duì)于分頻等較簡單的功能,可以不使用狀態(tài)機(jī),這里只是演示狀態(tài)機(jī)編寫的方法),狀態(tài)跳轉(zhuǎn)圖如下圖所示:

    圖 7.4.6.3 七分頻狀態(tài)跳轉(zhuǎn)圖
    狀態(tài)跳轉(zhuǎn)圖畫完之后,接下來通過parameter來定義各個(gè)不同狀態(tài)的參數(shù),如下代碼所示:

    parameter S0 = 7'b0000001; //獨(dú)熱碼定義方式 parameter S1 = 7'b0000010; parameter S2 = 7'b0000100; parameter S3 = 7'b0001000; parameter S4 = 7'b0010000; parameter S5 = 7'b0100000; parameter S6 = 7'b1000000;

    這里是使用獨(dú)熱碼的方式來定義狀態(tài)機(jī),每個(gè)狀態(tài)只有一位為1,當(dāng)然也可以直接定義成十進(jìn)制的0,1,2……7。
    因?yàn)槲覀兌x成獨(dú)熱碼的方式,每一個(gè)狀態(tài)的位寬為7位,接下來還需要定義兩個(gè)7位的寄存器,一個(gè)用來表示當(dāng)前狀態(tài),另一個(gè)用來表示下一個(gè)狀態(tài),如下所示:

    reg [6:0] curr_st ; //當(dāng)前狀態(tài) reg [6:0] next_st ; //下一個(gè)狀態(tài)

    接下來就可以使用三個(gè)always語句來開始編寫狀態(tài)機(jī)的代碼,第一個(gè)always采用同步時(shí)序描述狀態(tài)轉(zhuǎn)移,第二個(gè)always采用組合邏輯判斷狀態(tài)轉(zhuǎn)移條件,第三個(gè)always是描述狀態(tài)輸出,一個(gè)完整的三段式狀態(tài)機(jī)的例子如下代碼所示:

    1 module divider7_fsm ( 2 //系統(tǒng)時(shí)鐘與復(fù)位 3 input sys_clk , 4 input sys_rst_n , 5 6 //輸出時(shí)鐘 7 output reg clk_divide_7 8 ); 9 10 //parameter define 11 parameter S0 = 7'b0000001; //獨(dú)熱碼定義方式 12 parameter S1 = 7'b0000010; 13 parameter S2 = 7'b0000100; 14 parameter S3 = 7'b0001000; 15 parameter S4 = 7'b0010000; 16 parameter S5 = 7'b0100000; 17 parameter S6 = 7'b1000000; 18 19 //reg define 20 reg [6:0] curr_st ; //當(dāng)前狀態(tài) 21 reg [6:0] next_st ; //下一個(gè)狀態(tài) 22 23 //***************************************************** 24 //** main code 25 //***************************************************** 26 27 //狀態(tài)機(jī)的第一段采用同步時(shí)序描述狀態(tài)轉(zhuǎn)移 28 always @(posedge sys_clk or negedge sys_rst_n) begin 29 if (!sys_rst_n) 30 curr_st <= S0; 31 else 32 curr_st <= next_st; 33 end 34 35 //狀態(tài)機(jī)的第二段采用組合邏輯判斷狀態(tài)轉(zhuǎn)移條件 36 always @(*) begin 37 case (curr_st) 38 S0: next_st = S1; 39 S1: next_st = S2; 40 S2: next_st = S3; 41 S3: next_st = S4; 42 S4: next_st = S5; 43 S5: next_st = S6; 44 S6: next_st = S0; 45 default: next_st = S0; 46 endcase 47 end 48 49 //狀態(tài)機(jī)的第三段描述狀態(tài)輸出(這里采用時(shí)序電路輸出) 50 always @(posedge sys_clk or negedge sys_rst_n) begin 51 if (!sys_rst_n) 52 clk_divide_7 <= 1'b0; 53 else if ((curr_st == S0) | (curr_st == S1) | (curr_st == S2) | (curr_st == S3)) 54 clk_divide_7 <= 1'b0; 55 else if ((curr_st == S4) | (curr_st == S5) | (curr_st == S6)) 56 clk_divide_7 <= 1'b1; 57 else 58 ; 59 end 60 61 endmodule

    在編寫狀態(tài)機(jī)代碼時(shí)首先要定義狀態(tài)變量(代碼中的參數(shù)S0~S6)與狀態(tài)寄存器(curr_st、next_st),如代碼中第10行至第21行所示;接下來使用三個(gè)always語句來實(shí)現(xiàn)三段狀態(tài)機(jī),第一個(gè)always語句實(shí)現(xiàn)同步狀態(tài)跳轉(zhuǎn)(如代碼的第27至第33行所示),在復(fù)位的時(shí)候,當(dāng)前狀態(tài)處在S0狀態(tài),否則將下一個(gè)狀態(tài)賦值給當(dāng)前狀態(tài);第二個(gè)always采用組合邏輯判斷狀態(tài)轉(zhuǎn)移條件(如代碼的第35行至第47行代碼所示),這里每一個(gè)狀態(tài)只保持一個(gè)時(shí)鐘周期,也就是直接跳轉(zhuǎn)到下一個(gè)狀態(tài),在實(shí)際應(yīng)用中,一般根據(jù)輸入的條件來判斷是否跳轉(zhuǎn)到其它狀態(tài)或者停留在當(dāng)前轉(zhuǎn)態(tài),最后在case語句后面增加一個(gè)default語句,來防止?fàn)顟B(tài)機(jī)處在異常的狀態(tài);第三個(gè)always輸出分頻后的時(shí)鐘(如代碼的第49至第59行代碼所示),狀態(tài)機(jī)的第三段可以使用組合邏輯電路輸出,也可以使用時(shí)序邏輯電路輸出,一般推薦使用時(shí)序電路輸出,因?yàn)闋顟B(tài)機(jī)的設(shè)計(jì)和其它設(shè)計(jì)一樣,最好使用同步時(shí)序方式設(shè)計(jì),以提高設(shè)計(jì)的穩(wěn)定性,消除毛刺。
    從代碼中可以看出,輸出的分頻時(shí)鐘clk_divide_7只與當(dāng)前狀態(tài)(curr_st)有關(guān),而與輸入狀態(tài)無關(guān),所以屬于摩爾型狀態(tài)機(jī)。狀態(tài)機(jī)的第一段對(duì)應(yīng)摩爾狀態(tài)機(jī)模型的狀態(tài)寄存器,用來記憶狀態(tài)機(jī)當(dāng)前所處的狀態(tài);狀態(tài)機(jī)的第二段對(duì)應(yīng)摩爾狀態(tài)機(jī)模型產(chǎn)生下一狀態(tài)的組合邏輯F;狀態(tài)機(jī)的第三段對(duì)應(yīng)摩爾狀態(tài)機(jī)產(chǎn)生輸出的組合邏輯G,因?yàn)椴捎脮r(shí)序電路輸出有很大的優(yōu)勢(shì),所以這里第三段狀態(tài)機(jī)是由時(shí)序電路輸出的。
    狀態(tài)機(jī)采用時(shí)序邏輯輸出的狀態(tài)機(jī)模型如下圖所示:

    圖 7.4.6.4 狀態(tài)機(jī)時(shí)序電路輸出模型
    采用這種描述方法雖然代碼結(jié)構(gòu)復(fù)雜了一些,但是這樣做的好處是可以有效地濾去組合邏輯輸出的毛刺,同時(shí)也可以更好的進(jìn)行時(shí)序計(jì)算與約束,另外對(duì)于總線形式的輸出信號(hào)來說,容易使總線數(shù)據(jù)對(duì)齊,減小總線數(shù)據(jù)間的偏移,從而降低接收端數(shù)據(jù)采樣出錯(cuò)的頻率。
    1.4.7 模塊化設(shè)計(jì)
    模塊化設(shè)計(jì)是FPGA設(shè)計(jì)中一個(gè)很重要的技巧,它能夠使一個(gè)大型設(shè)計(jì)的分工協(xié)作、仿真測(cè)試更加容易,代碼維護(hù)或升級(jí)更加便利,當(dāng)更改某個(gè)子模塊時(shí),不會(huì)影響其它模塊的實(shí)現(xiàn)結(jié)果。進(jìn)行模塊化、標(biāo)準(zhǔn)化設(shè)計(jì)的最終目的就是提高設(shè)計(jì)的通用性,減少不同項(xiàng)目中同一功能設(shè)計(jì)和驗(yàn)證引入的工作量。劃分模塊的基本原則是子模塊功能相對(duì)獨(dú)立、模塊內(nèi)部聯(lián)系盡量緊密、模塊間的連接盡量簡單。
    在進(jìn)行模塊化設(shè)計(jì)中,對(duì)于復(fù)雜的數(shù)字系統(tǒng),我們一般采用自頂向下的設(shè)計(jì)方式。可以把系統(tǒng)劃分成幾個(gè)功能模塊,每個(gè)功能模塊再劃分成下一層的子模塊;每個(gè)模塊的設(shè)計(jì)對(duì)應(yīng)一個(gè)module,一個(gè)module設(shè)計(jì)成一個(gè)Verilog程序文件。因此,對(duì)一個(gè)系統(tǒng)的頂層模塊,我們采用結(jié)構(gòu)化的設(shè)計(jì),即頂層模塊分別調(diào)用了各個(gè)功能模塊。
    下圖是模塊化設(shè)計(jì)的功能框圖,一般整個(gè)設(shè)計(jì)的頂層模塊只做例化(調(diào)用其它模塊),不做邏輯。頂層下面會(huì)有模塊A、模塊B、模塊C等,模塊A/B/C又可以分多個(gè)子模塊實(shí)現(xiàn)。

    圖 7.4.7.1 模塊化設(shè)計(jì)框圖
    在這里我們補(bǔ)充一個(gè)概念,就是Verilog語法中的模塊例化。FPGA邏輯設(shè)計(jì)中通常是一個(gè)大的模塊中包含了一個(gè)或多個(gè)功能子模塊,Verilog通過模塊調(diào)用或稱為模塊實(shí)例化的方式來實(shí)現(xiàn)這些子模塊與高層模塊的連接,有利于簡化每一個(gè)模塊的代碼,易于維護(hù)和修改。
    下面以一個(gè)實(shí)例(靜態(tài)數(shù)碼管顯示實(shí)驗(yàn))來說明模塊和模塊之間的例化方法。
    在靜態(tài)數(shù)碼管顯示實(shí)驗(yàn)中,我們根據(jù)功能將FPGA頂層例化了以下兩個(gè)模塊:計(jì)時(shí)模塊(time_count)和數(shù)碼管靜態(tài)顯示模塊(seg_led_static),如下圖所示:

    圖 7.4.7.2 靜態(tài)數(shù)碼管顯示模塊框圖
    計(jì)時(shí)模塊部分代碼如下所示:

    1 module time_count( 2 input clk , // 時(shí)鐘信號(hào) 3 input rst_n , // 復(fù)位信號(hào) 4 5 output reg flag // 一個(gè)時(shí)鐘周期的脈沖信號(hào) 6 ); 7 8 //parameter define 9 parameter MAX_NUM = 25000_000; // 計(jì)數(shù)器最大計(jì)數(shù)值 …… 34 endmodule

    數(shù)碼管靜態(tài)顯示模塊部分代碼如下所示:

    1 module seg_led_static ( 2 input clk , // 時(shí)鐘信號(hào) 3 input rst_n , // 復(fù)位信號(hào)(低有效) 4 5 input add_flag, // 數(shù)碼管變化的通知信號(hào) 6 output reg [5:0] sel , // 數(shù)碼管位選 7 output reg [7:0] seg_led // 數(shù)碼管段選 8 ); …… 66 endmodule

    頂層模塊代碼如下所示:

    1 module seg_led_static_top ( 2 input sys_clk , // 系統(tǒng)時(shí)鐘 3 input sys_rst_n, // 系統(tǒng)復(fù)位信號(hào)(低有效) 4 5 output [5:0] sel , // 數(shù)碼管位選 6 output [7:0] seg_led // 數(shù)碼管段選 7 8 ); 9 10 //parameter define 11 parameter TIME_SHOW = 25'd25000_000; // 數(shù)碼管變化的時(shí)間間隔0.5s 12 13 //wire define 14 wire add_flag; // 數(shù)碼管變化的通知信號(hào) 15 16 //***************************************************** 17 //** main code 18 //***************************************************** 19 20 //例化計(jì)時(shí)模塊 21 time_count #( 22 .MAX_NUM (TIME_SHOW) 23 ) u_time_count( 24 .clk (sys_clk ), 25 .rst_n (sys_rst_n), 26 27 .flag (add_flag ) 28 ); 29 30 //例化數(shù)碼管靜態(tài)顯示模塊 31 seg_led_static u_seg_led_static ( 32 .clk (sys_clk ), 33 .rst_n (sys_rst_n), 34 35 .add_flag (add_flag ), 36 .sel (sel ), 37 .seg_led (seg_led ) 38 ); 39 40 endmodule

    我們上面貼出了頂層模塊的完整代碼,子模塊只貼出了模塊的端口和參數(shù)定義的代碼。這是因?yàn)轫攲幽K對(duì)子模塊做例化時(shí),只需要知道子模塊的端口信號(hào)名,而不用關(guān)心子模塊內(nèi)部具體是如何實(shí)現(xiàn)的。如果子模塊內(nèi)部使用parameter定義了一些參數(shù),Verilog也支持對(duì)參數(shù)的例化(也叫參數(shù)的傳遞),即頂層模塊可以通過例化參數(shù)來修改子模塊內(nèi)定義的參數(shù)。
    我們先來看一下頂層模塊是如何例化子模塊的,例化方法如下圖所示:

    圖 7.4.7.3 模塊的例化
    上圖右側(cè)是例化的數(shù)碼管靜態(tài)顯示模塊,子模塊名是指被例化模塊的模塊名,而例化模塊名相當(dāng)于標(biāo)識(shí),當(dāng)例化多個(gè)相同模塊時(shí),可以通過例化名來識(shí)別哪一個(gè)例化,我們一般命名為“u_”+“子模塊名”。信號(hào)列表中“.”之后的信號(hào)是數(shù)碼管靜態(tài)顯示模塊定義的端口信號(hào),括號(hào)內(nèi)的信號(hào)則是頂層模塊聲明的信號(hào),這樣就將頂層模塊的信號(hào)與子模塊的信號(hào)一一對(duì)應(yīng)起來,同時(shí)需要注意信號(hào)的位寬要保持一致。
    接下來再來介紹一下參數(shù)的例化,參數(shù)的例化是在模塊例化的基礎(chǔ)上,增加了對(duì)參數(shù)的信號(hào)定義,如下圖所示:

    圖 7.4.7.4 模塊參數(shù)的例化
    在對(duì)參數(shù)進(jìn)行例化時(shí),在模塊名的后面加上“#”,表示后面跟著的是參數(shù)列表。計(jì)時(shí)模塊定義的MAX_NUM和頂層模塊的TIME_SHOW都是等于25000_000,當(dāng)在頂層模塊定義TIME_SHOW=12500_000時(shí),那么子模塊的MAX_NUM的值實(shí)際上是也等于12500_000。當(dāng)然即使子模塊包含參數(shù),在做模塊的例化時(shí)也可以不添加對(duì)參數(shù)的例化,這樣的話,子模塊的參數(shù)值等于該模塊內(nèi)部實(shí)際定義的值。
    值得一提的是,Verilog語法中的localparam代表的意思同樣是參數(shù)定義,用法和parameter基本一致,區(qū)別在于parameter定義的參數(shù)可以做例化,而localparam定義的參數(shù)是指本地參數(shù),上層模塊不可以對(duì)localparam定義的參數(shù)做例化。
    1.5 Verilog編程規(guī)范
    本節(jié)主要給大家介紹下編程規(guī)范,良好的編程規(guī)范是一個(gè)FPGA工程師必備的素質(zhì)。
    1.5.1 編程規(guī)范重要性
    當(dāng)前數(shù)字電路設(shè)計(jì)越來越復(fù)雜,一個(gè)項(xiàng)目需要的人越來越多,當(dāng)幾十號(hào)設(shè)計(jì)同事完成同一個(gè)項(xiàng)目時(shí)候,大家需要互相檢視對(duì)方代碼,如果沒有一個(gè)統(tǒng)一的編程規(guī)范,那么是不可想象的。大家的風(fēng)格都不一樣,如果不統(tǒng)一的話,后續(xù)維護(hù)、重用等會(huì)有很大的困難,即使是自己寫的代碼,幾個(gè)月后再看也會(huì)變的很陌生,也會(huì)看不懂(您可能不相信,不過筆者和同事交流發(fā)現(xiàn)大家都是這樣的,時(shí)間長不看就忘記了),所以編程規(guī)范的重要性顯而易見。
    另外養(yǎng)成良好的編程規(guī)范,對(duì)于個(gè)人的工作習(xí)慣、思路等都有非常大的好處。可以讓新人盡快融入項(xiàng)目中,讓大家更容易看懂您的代碼。
    1.5.2 工程組織形式
    工程的組織形式一般包括如下幾個(gè)部分,分別是doc、par、rtl和sim四個(gè)部分。
    XX工程名
    |–doc
    |–par
    |–rtl
    |–sim
    doc:一般存放工程相關(guān)的文檔,包括該項(xiàng)目用到的datasheet(數(shù)據(jù)手冊(cè))、設(shè)計(jì)方案等。不過為了便于大家查看,我們開發(fā)板文檔是統(tǒng)一匯總存放在資料盤下的;
    par:主要存放工程文件和使用到的一些IP文件;
    rtl:主要存放工程的rtl代碼,這是工程的核心,文件名與module名稱應(yīng)當(dāng)一致,建議按照模塊的層次分開存放;
    sim:主要存放工程的仿真代碼,復(fù)雜的工程里面,仿真也是不可或缺的部分,可以極大減少調(diào)試的工作量。
    1.5.3 文件頭聲明
    每一個(gè)Verilog文件的開頭,都必須有一段聲明的文字。包括文件的版權(quán),作者,創(chuàng)建日期以及內(nèi)容介紹等,如下表所示。
    //Copyright ?***********************************//
    //原子哥在線教學(xué)平臺(tái):www.yuanzige.com
    //技術(shù)支持:www.openedv.com
    //淘寶店鋪:http://openedv.taobao.com
    //關(guān)注微信公眾平臺(tái)微信號(hào):“正點(diǎn)原子”,免費(fèi)獲取ZYNQ & FPGA & STM32 & LINUX資料。
    //版權(quán)所有,盜版必究。
    //Copyright? 正點(diǎn)原子 2018-2028
    //All rights reserved
    //----------------------------------------------------------------------------------------
    // File name: led_twinkle
    // Last modified Date: 2019/4/14 10:55:56
    // Last Version: V1.0
    // Descriptions: LED燈閃爍
    //----------------------------------------------------------------------------------------
    // Created by: 正點(diǎn)原子
    // Created date: 2019/4/14 10:55:56
    // Version: V1.0
    // Descriptions: The original version
    //
    //----------------------------------------------------------------------------------------
    //
    ************************************************//
    我們建議一個(gè).V只包括一個(gè)module,這樣模塊會(huì)比較清晰易懂。
    1.5.4 輸入輸出定義
    端口的輸入輸出有Verilog 95和2001兩種格式,推薦大家采用Verilog 2001語法格式。下面是Verilog 2001語法的一個(gè)例子,包括module名字、輸入輸出、信號(hào)名字、輸出類型、注釋。
    1 module led(
    2 input sys_clk , //系統(tǒng)時(shí)鐘
    3 input sys_rst_n, //系統(tǒng)復(fù)位,低電平有效
    4 output reg [3:0] led //4位LED燈
    5 );
    我們建議如下幾點(diǎn):
    ① 一行只定義一個(gè)信號(hào);
    ② 信號(hào)全部對(duì)齊;
    ③ 同一組的信號(hào)放在一起。
    1.5.5 parameter定義
    我們建議如下幾點(diǎn):
    ① module中的parameter聲明,不建議隨處亂放;
    ② 將parameter定義放在緊跟著module的輸入輸出定義之后;
    ③ parameter等常量命名全部使用大寫。
    7 //parameter define
    8 parameter WIDTH = 25 ;
    9 parameter COUNT_MAX = 25_000_000; //板載50M時(shí)鐘=20ns,0.5s/20ns=25000000,需要25bit
    10 //位寬
    1.5.6 wire/reg定義
    一個(gè)module中的wire/reg變量聲明需要集中放在一起,不建議隨處亂放。
    因此,我們建議如下:
    ① 將reg與wire的定義放在緊跟著parameter之后;
    ② 建議具有相同功能的信號(hào)集中放在一起;
    ③ 信號(hào)需要對(duì)齊,reg和位寬需要空2格,位寬和信號(hào)名字至少空四格;
    ④ 位寬使用降序描述,[6:0];
    ⑤ 時(shí)鐘使用前綴clk,復(fù)位使用后綴rst;
    ⑥ 不能使用Verilog關(guān)鍵字作為信號(hào)名字;
    ⑦ 一行只定義一個(gè)信號(hào)。
    12 //reg define
    13 reg [WIDTH-1:0] counter ;
    14 reg [1:0] led_ctrl_cnt;
    15
    16 //wire define
    17 wire counter_en ;
    1.5.7 信號(hào)命名
    大家對(duì)信號(hào)命名可能都有不同的喜好,我們建議如下:
    ① 信號(hào)命名需要體現(xiàn)其意義,比如fifo_wr代表FIFO讀寫使能;
    ② 可以使用“_”隔開信號(hào),比如sys_clk;
    ③ 內(nèi)部信號(hào)不要使用大寫,也不要使用大小寫混合,建議全部使用小寫;
    ④ 模塊名字使用小寫;
    ⑤ 低電平有效的信號(hào),使用_n作為信號(hào)后綴;
    ⑥ 異步信號(hào),使用_a作為信號(hào)后綴;
    ⑦ 純延遲打拍信號(hào)使用_dly作為后綴。
    1.5.8 always塊描述方式
    always塊的編程規(guī)范,我們建議如下:
    ① if需要空四格;
    ② 一個(gè)always需要配一個(gè)begin和end;
    ③ always前面需要有注釋;
    ④ beign建議和always放在同一行;
    ⑤ 一個(gè)always和下一個(gè)always空一行即可,不要空多行;
    ⑥ 時(shí)鐘復(fù)位觸發(fā)描述使用posedge sys_clk和negedge sys_rst_n
    ⑦ 一個(gè)always塊只包含一個(gè)時(shí)鐘和復(fù)位;
    ⑧ 時(shí)序邏輯使用非阻塞賦值。
    26 //用于產(chǎn)生0.5秒使能信號(hào)的計(jì)數(shù)器
    27 always @(posedge sys_clk or negedge sys_rst_n) begin
    28 if (sys_rst_n == 1’b0)
    29 counter <= 1’b0;
    30 else if (counter_en)
    31 counter <= 1’b0;
    32 else
    33 counter <= counter + 1’b1;
    34 end
    1.5.9 assign塊描述方式
    assign塊的編程規(guī)范,我們建議如下:
    ① assign的邏輯不能太復(fù)雜,否則易讀性不好;
    ② assign前面需要有注釋;
    ③ 組合邏輯使用阻塞賦值。
    23 //計(jì)數(shù)到最大值時(shí)產(chǎn)生高電平使能信號(hào)
    24 assign counter_en = (counter == (COUNT_MAX - 1’b1)) ? 1’b1 : 1’b0;
    1.5.10 空格和TAB
    由于不同的解釋器對(duì)于TAB翻譯不一致,所以建議不使用TAB,全部使用空格。
    1.5.11 注釋
    添加注釋可以增加代碼的可讀性,易于維護(hù)。我們建議規(guī)范如下:
    ① 注釋描述需要清晰、簡潔;
    ② 注釋描述不要廢話,冗余;
    ③ 注釋描述需要使用“//”;
    ④ 注釋描述需要對(duì)齊;
    ⑤ 核心代碼和信號(hào)定義之間需要增加注釋。
    26 //用于產(chǎn)生0.5秒使能信號(hào)的計(jì)數(shù)器
    27 always @(posedge sys_clk or negedge sys_rst_n) begin
    28 if (sys_rst_n == 1’b0)
    29 counter <= 1’b0;
    30 else if (counter_en) // counter_en為1時(shí),counter清0
    31 counter <= 1’b0;
    32 else
    33 counter <= counter + 1’b1;
    34 end
    1.5.12 模塊例化
    模塊例化我們建議規(guī)范如下:
    ① moudle模塊例化使用u_xx表示。
    20 //例化計(jì)時(shí)模塊
    21 time_count #(
    22 .MAX_NUM (TIME_SHOW)
    23 ) u_time_count(
    24 .clk (sys_clk ),
    25 .rst_n (sys_rst_n),
    26
    27 .flag (add_flag )
    28 );
    29
    30 //例化數(shù)碼管靜態(tài)顯示模塊
    31 seg_led_static u_seg_led_static (
    32 .clk (sys_clk ),
    33 .rst_n (sys_rst_n),
    34
    35 .add_flag (add_flag ),
    36 .sel (sel ),
    37 .seg_led (seg_led )
    38 );
    1.5.13 其他注意事項(xiàng)
    其他注意事項(xiàng)如下:
    ① 代碼寫的越簡單越好,方便他人閱讀和理解;
    ② 不使用repeat等循環(huán)語句;
    ③ RTL級(jí)別代碼里面不使用initial語句,仿真代碼除外;
    ④ 避免產(chǎn)生Latch鎖存器,比如組合邏輯里面的if不帶else分支、case缺少default語句;
    ⑤ 避免使用太復(fù)雜和少見的語法,可能造成語法綜合器優(yōu)化力度較低。
    良好的編程規(guī)范是大家走向?qū)I(yè)FPGA工程師的必備素質(zhì),希望大家都能養(yǎng)成良好的編程規(guī)范。

    總結(jié)

    以上是生活随笔為你收集整理的【正点原子FPGA连载】第七章 Verilog HDL语 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    久久亚洲中文字幕精品一区 | 好屌草这里只有精品 | 未满小14洗澡无码视频网站 | 妺妺窝人体色www婷婷 | 少妇高潮喷潮久久久影院 | 国产精品igao视频网 | 天堂亚洲2017在线观看 | 精品国偷自产在线视频 | 精品久久久久久亚洲精品 | 国产熟妇另类久久久久 | 欧美 丝袜 自拍 制服 另类 | 亚洲色欲久久久综合网东京热 | 天堂无码人妻精品一区二区三区 | 377p欧洲日本亚洲大胆 | 无人区乱码一区二区三区 | 欧美国产日产一区二区 | 一本大道久久东京热无码av | 国产精品免费大片 | 内射白嫩少妇超碰 | 精品厕所偷拍各类美女tp嘘嘘 | 国产一区二区三区日韩精品 | 在线视频网站www色 | 福利一区二区三区视频在线观看 | 欧美精品一区二区精品久久 | 激情五月综合色婷婷一区二区 | 亚洲爆乳无码专区 | 18禁止看的免费污网站 | 亚洲欧美中文字幕5发布 | 色欲人妻aaaaaaa无码 | 少妇邻居内射在线 | 国产精品亚洲五月天高清 | 亚洲精品久久久久avwww潮水 | 天堂а√在线中文在线 | 久久久久99精品成人片 | 色一情一乱一伦一区二区三欧美 | 国产偷国产偷精品高清尤物 | 人人妻人人澡人人爽人人精品 | 久9re热视频这里只有精品 | 亚洲国产av美女网站 | 日本护士毛茸茸高潮 | a片在线免费观看 | 老司机亚洲精品影院 | www成人国产高清内射 | 麻豆国产人妻欲求不满谁演的 | 国语精品一区二区三区 | 亚洲无人区午夜福利码高清完整版 | 欧美日韩一区二区免费视频 | 亚洲色偷偷偷综合网 | 在线播放免费人成毛片乱码 | 曰本女人与公拘交酡免费视频 | 永久免费观看美女裸体的网站 | 小sao货水好多真紧h无码视频 | 亚洲人亚洲人成电影网站色 | 中文字幕乱码人妻二区三区 | 成人一在线视频日韩国产 | 亚洲高清偷拍一区二区三区 | 欧美老熟妇乱xxxxx | 少妇被粗大的猛进出69影院 | 嫩b人妻精品一区二区三区 | 蜜桃av抽搐高潮一区二区 | 77777熟女视频在线观看 а天堂中文在线官网 | 天堂无码人妻精品一区二区三区 | 免费人成在线观看网站 | 亚洲人成人无码网www国产 | 好屌草这里只有精品 | 日韩无套无码精品 | 性欧美疯狂xxxxbbbb | 色欲久久久天天天综合网精品 | 午夜精品一区二区三区的区别 | 美女极度色诱视频国产 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 国产人妻精品一区二区三区不卡 | 日本欧美一区二区三区乱码 | 欧洲极品少妇 | 欧美人与禽zoz0性伦交 | 美女黄网站人色视频免费国产 | 无码av免费一区二区三区试看 | 男人扒开女人内裤强吻桶进去 | 亚洲 另类 在线 欧美 制服 | 久久精品人妻少妇一区二区三区 | 亚洲成a人片在线观看无码3d | 蜜桃无码一区二区三区 | 丝袜 中出 制服 人妻 美腿 | av在线亚洲欧洲日产一区二区 | 一二三四社区在线中文视频 | 乱人伦中文视频在线观看 | 男女超爽视频免费播放 | www成人国产高清内射 | 人妻少妇精品无码专区二区 | 国产亚洲欧美在线专区 | 欧美成人午夜精品久久久 | 男人的天堂2018无码 | 精品国产av色一区二区深夜久久 | 久久久久亚洲精品男人的天堂 | 国产成人无码专区 | 欧美性生交xxxxx久久久 | 久久精品99久久香蕉国产色戒 | 欧美肥老太牲交大战 | 亚洲狠狠婷婷综合久久 | 欧美成人免费全部网站 | 日韩精品无码免费一区二区三区 | 日本精品少妇一区二区三区 | 亚洲精品无码国产 | 亚洲の无码国产の无码影院 | 一本色道久久综合狠狠躁 | 高清无码午夜福利视频 | 丰满妇女强制高潮18xxxx | 中文字幕乱码中文乱码51精品 | 亚洲人亚洲人成电影网站色 | 欧美日韩亚洲国产精品 | 国产偷抇久久精品a片69 | 欧美35页视频在线观看 | 亚洲一区二区三区 | 好爽又高潮了毛片免费下载 | 动漫av一区二区在线观看 | 少妇无码av无码专区在线观看 | 国产人妻精品一区二区三区不卡 | 俺去俺来也在线www色官网 | 国产在线aaa片一区二区99 | 亚洲精品久久久久中文第一幕 | 国产极品视觉盛宴 | 红桃av一区二区三区在线无码av | 99久久无码一区人妻 | 成人性做爰aaa片免费看不忠 | 精品厕所偷拍各类美女tp嘘嘘 | 天堂久久天堂av色综合 | 极品嫩模高潮叫床 | 荫蒂被男人添的好舒服爽免费视频 | 麻豆国产人妻欲求不满 | 国产无av码在线观看 | 亚洲国产av精品一区二区蜜芽 | 亚洲中文字幕va福利 | 国产精品美女久久久 | 樱花草在线社区www | 国产凸凹视频一区二区 | 最新版天堂资源中文官网 | 牲交欧美兽交欧美 | 国内精品人妻无码久久久影院 | 国产精品免费大片 | 男人扒开女人内裤强吻桶进去 | 人妻中文无码久热丝袜 | 蜜桃av抽搐高潮一区二区 | 欧美成人免费全部网站 | 久久精品无码一区二区三区 | 精品久久综合1区2区3区激情 | 国产精品二区一区二区aⅴ污介绍 | 亚拍精品一区二区三区探花 | 强开小婷嫩苞又嫩又紧视频 | 爽爽影院免费观看 | 伦伦影院午夜理论片 | 中文字幕av日韩精品一区二区 | 久久国产精品萌白酱免费 | 正在播放东北夫妻内射 | 理论片87福利理论电影 | 学生妹亚洲一区二区 | 人人妻人人澡人人爽欧美一区 | 特级做a爰片毛片免费69 | 久久精品国产日本波多野结衣 | 亚洲娇小与黑人巨大交 | 夜夜躁日日躁狠狠久久av | 精品久久久久香蕉网 | 亚洲男女内射在线播放 | 国产真实乱对白精彩久久 | 鲁鲁鲁爽爽爽在线视频观看 | 亚洲一区av无码专区在线观看 | 高清无码午夜福利视频 | 真人与拘做受免费视频 | 久久无码中文字幕免费影院蜜桃 | 欧美老熟妇乱xxxxx | 成人一区二区免费视频 | av在线亚洲欧洲日产一区二区 | 真人与拘做受免费视频 | 国产免费久久久久久无码 | 亚洲 a v无 码免 费 成 人 a v | 日本乱人伦片中文三区 | 婷婷五月综合激情中文字幕 | 午夜理论片yy44880影院 | 免费无码一区二区三区蜜桃大 | 天天拍夜夜添久久精品 | 99国产精品白浆在线观看免费 | 99视频精品全部免费免费观看 | 亚洲欧美综合区丁香五月小说 | 国产精品久久久午夜夜伦鲁鲁 | 少妇性l交大片欧洲热妇乱xxx | 成人性做爰aaa片免费看不忠 | 亚洲人亚洲人成电影网站色 | 亚洲va中文字幕无码久久不卡 | 黑人大群体交免费视频 | 成 人影片 免费观看 | 免费网站看v片在线18禁无码 | 夜先锋av资源网站 | 亚洲欧美综合区丁香五月小说 | 色综合久久久无码中文字幕 | 图片区 小说区 区 亚洲五月 | 精品国偷自产在线视频 | 日韩精品久久久肉伦网站 | 丰满少妇人妻久久久久久 | 欧美自拍另类欧美综合图片区 | 日韩精品成人一区二区三区 | 中文字幕日韩精品一区二区三区 | 国产偷抇久久精品a片69 | 女人被男人躁得好爽免费视频 | 亚洲国产精品一区二区美利坚 | 国产精品自产拍在线观看 | 国产精品久久久久9999小说 | 亚洲熟妇色xxxxx欧美老妇 | 国产精品福利视频导航 | 97久久国产亚洲精品超碰热 | 国产综合在线观看 | 中国女人内谢69xxxx | 国产亚洲精品久久久ai换 | 国产农村乱对白刺激视频 | 国产亚av手机在线观看 | 国产激情一区二区三区 | 国产九九九九九九九a片 | 精品久久久无码人妻字幂 | 综合人妻久久一区二区精品 | 青青草原综合久久大伊人精品 | 亚洲精品综合一区二区三区在线 | 中文字幕日韩精品一区二区三区 | 欧美国产日产一区二区 | 国产精品久久久久影院嫩草 | 亚洲色在线无码国产精品不卡 | 久久国产自偷自偷免费一区调 | 日本精品久久久久中文字幕 | 中文字幕日产无线码一区 | 成人精品视频一区二区三区尤物 | 成人亚洲精品久久久久软件 | 久久亚洲国产成人精品性色 | 精品无人区无码乱码毛片国产 | 图片区 小说区 区 亚洲五月 | 波多野结衣高清一区二区三区 | 97无码免费人妻超级碰碰夜夜 | 日日摸日日碰夜夜爽av | 无码人妻少妇伦在线电影 | 久久www免费人成人片 | 国产特级毛片aaaaaaa高清 | 久久综合网欧美色妞网 | 午夜福利试看120秒体验区 | 国产猛烈高潮尖叫视频免费 | 国产av无码专区亚洲awww | 亚洲性无码av中文字幕 | 欧美熟妇另类久久久久久多毛 | 久久综合香蕉国产蜜臀av | 欧美猛少妇色xxxxx | 强开小婷嫩苞又嫩又紧视频 | 又色又爽又黄的美女裸体网站 | 377p欧洲日本亚洲大胆 | 99视频精品全部免费免费观看 | 亚洲精品一区二区三区四区五区 | 午夜精品久久久内射近拍高清 | 国产av无码专区亚洲awww | 国产九九九九九九九a片 | 成人试看120秒体验区 | 亚洲综合精品香蕉久久网 | 亚洲色大成网站www国产 | 成人aaa片一区国产精品 | av在线亚洲欧洲日产一区二区 | 国产亚洲美女精品久久久2020 | 激情五月综合色婷婷一区二区 | 人妻人人添人妻人人爱 | 中文字幕无码av波多野吉衣 | 宝宝好涨水快流出来免费视频 | 欧美国产日韩久久mv | 老司机亚洲精品影院 | 国产艳妇av在线观看果冻传媒 | 午夜福利一区二区三区在线观看 | 国内少妇偷人精品视频免费 | 色欲久久久天天天综合网精品 | 国产猛烈高潮尖叫视频免费 | 日韩亚洲欧美中文高清在线 | 丰满妇女强制高潮18xxxx | 欧美人与善在线com | 又色又爽又黄的美女裸体网站 | 欧美日韩一区二区三区自拍 | 亚洲综合精品香蕉久久网 | 又紧又大又爽精品一区二区 | 午夜福利一区二区三区在线观看 | 国产人妻精品一区二区三区不卡 | 精品国产一区二区三区四区在线看 | 国产精华av午夜在线观看 | 亚洲一区二区三区含羞草 | 久久久av男人的天堂 | 亚洲一区二区观看播放 | 清纯唯美经典一区二区 | 装睡被陌生人摸出水好爽 | 精品少妇爆乳无码av无码专区 | 国产熟妇高潮叫床视频播放 | 欧美xxxx黑人又粗又长 | 亚洲精品一区三区三区在线观看 | 男女下面进入的视频免费午夜 | 亚洲日本va中文字幕 | 日本护士xxxxhd少妇 | 亚洲色www成人永久网址 | 亚洲乱亚洲乱妇50p | 国产亚洲精品久久久久久大师 | 日日躁夜夜躁狠狠躁 | 天天躁夜夜躁狠狠是什么心态 | 天堂亚洲免费视频 | 无码av岛国片在线播放 | 精品国产av色一区二区深夜久久 | 给我免费的视频在线观看 | 精品aⅴ一区二区三区 | 99久久人妻精品免费一区 | 2019午夜福利不卡片在线 | 精品人妻中文字幕有码在线 | 午夜福利试看120秒体验区 | 国产av无码专区亚洲a∨毛片 | 久久精品女人天堂av免费观看 | 国产亚洲精品久久久久久久久动漫 | 无码人妻久久一区二区三区不卡 | 亚洲人成影院在线无码按摩店 | 亚洲欧美精品aaaaaa片 | 乱码av麻豆丝袜熟女系列 | 18禁黄网站男男禁片免费观看 | 国产激情一区二区三区 | 性做久久久久久久久 | 亚洲国产精品无码一区二区三区 | 日本一卡2卡3卡四卡精品网站 | 久久国产精品_国产精品 | 亚洲另类伦春色综合小说 | 日韩无码专区 | 国内揄拍国内精品人妻 | 久久综合香蕉国产蜜臀av | 国内精品久久毛片一区二区 | 永久免费精品精品永久-夜色 | 人妻中文无码久热丝袜 | 国产精品亚洲综合色区韩国 | 狂野欧美性猛交免费视频 | 精品久久8x国产免费观看 | 国产亚av手机在线观看 | 97夜夜澡人人爽人人喊中国片 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 无码福利日韩神码福利片 | 99在线 | 亚洲 | 亚洲精品成a人在线观看 | 噜噜噜亚洲色成人网站 | 国产精品久久久一区二区三区 | 人人妻人人澡人人爽人人精品浪潮 | 骚片av蜜桃精品一区 | 久久久www成人免费毛片 | 欧美国产亚洲日韩在线二区 | 日本一卡二卡不卡视频查询 | 亚洲自偷精品视频自拍 | 波多野结衣一区二区三区av免费 | 日日夜夜撸啊撸 | 久久精品99久久香蕉国产色戒 | 久久精品国产一区二区三区肥胖 | 国产网红无码精品视频 | 午夜精品一区二区三区在线观看 | 亚洲男人av天堂午夜在 | 国产精品久久久久久久影院 | 亚洲精品久久久久中文第一幕 | 亚洲色欲色欲天天天www | 国产精品无码一区二区桃花视频 | 亚洲人亚洲人成电影网站色 | 2019午夜福利不卡片在线 | 国产成人综合在线女婷五月99播放 | 55夜色66夜色国产精品视频 | 麻豆人妻少妇精品无码专区 | 久久精品无码一区二区三区 | 久久精品丝袜高跟鞋 | 18禁黄网站男男禁片免费观看 | 成 人 网 站国产免费观看 | 青青青爽视频在线观看 | 无码国模国产在线观看 | 亚洲一区二区三区无码久久 | 久久综合九色综合97网 | 色综合天天综合狠狠爱 | 亚洲人成人无码网www国产 | 日本一本二本三区免费 | 亚洲国产成人a精品不卡在线 | 亚洲国产av美女网站 | 天下第一社区视频www日本 | 中文字幕人妻无码一夲道 | 福利一区二区三区视频在线观看 | 亚洲成av人影院在线观看 | 97久久超碰中文字幕 | 水蜜桃亚洲一二三四在线 | 在线观看国产午夜福利片 | 少妇高潮喷潮久久久影院 | 日日噜噜噜噜夜夜爽亚洲精品 | 内射白嫩少妇超碰 | 性欧美牲交xxxxx视频 | 成人无码视频在线观看网站 | 久久久久99精品成人片 | 亚洲经典千人经典日产 | 免费无码午夜福利片69 | 男女爱爱好爽视频免费看 | 亚洲一区二区三区 | 97精品人妻一区二区三区香蕉 | 久久人人97超碰a片精品 | 国产在线精品一区二区高清不卡 | 亚洲欧美精品伊人久久 | 黄网在线观看免费网站 | 久久99精品久久久久久动态图 | 亚洲国产精品一区二区美利坚 | 麻豆md0077饥渴少妇 | 又色又爽又黄的美女裸体网站 | 国产精品高潮呻吟av久久 | 国精品人妻无码一区二区三区蜜柚 | 久久久精品成人免费观看 | 国产成人综合美国十次 | 99久久久无码国产精品免费 | 秋霞特色aa大片 | 国产亚洲精品久久久久久大师 | 嫩b人妻精品一区二区三区 | 国产精品资源一区二区 | 亚洲高清偷拍一区二区三区 | 欧美三级不卡在线观看 | 99精品国产综合久久久久五月天 | 国产精品无码一区二区三区不卡 | 国产精品第一区揄拍无码 | 少妇久久久久久人妻无码 | 国产精品无码一区二区三区不卡 | 丝袜足控一区二区三区 | 久久久精品国产sm最大网站 | 久久精品中文字幕大胸 | 国产无遮挡又黄又爽免费视频 | 亚洲国产精品美女久久久久 | 亚洲 日韩 欧美 成人 在线观看 | 精品久久久久香蕉网 | 久久亚洲精品中文字幕无男同 | 乱码午夜-极国产极内射 | 亚洲熟悉妇女xxx妇女av | 丝袜足控一区二区三区 | 国产精品久久久av久久久 | 国产精品久久久久久无码 | 色窝窝无码一区二区三区色欲 | 久久久久免费精品国产 | 偷窥村妇洗澡毛毛多 | 欧美肥老太牲交大战 | 久久精品中文字幕大胸 | 无码纯肉视频在线观看 | 中文字幕日产无线码一区 | 丰满人妻一区二区三区免费视频 | 亚洲一区av无码专区在线观看 | 国产成人精品久久亚洲高清不卡 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲码国产精品高潮在线 | 免费人成网站视频在线观看 | 天堂无码人妻精品一区二区三区 | 性欧美videos高清精品 | 国产一区二区三区日韩精品 | 亚洲午夜无码久久 | 欧美丰满少妇xxxx性 | 少妇太爽了在线观看 | 国内精品九九久久久精品 | 国产麻豆精品一区二区三区v视界 | 55夜色66夜色国产精品视频 | 色综合久久88色综合天天 | 人妻少妇精品视频专区 | 久久久久国色av免费观看性色 | 亚洲熟悉妇女xxx妇女av | 亚洲精品综合一区二区三区在线 | 国产后入清纯学生妹 | 日本熟妇乱子伦xxxx | 国产偷抇久久精品a片69 | 亚洲中文字幕在线无码一区二区 | 精品厕所偷拍各类美女tp嘘嘘 | 性欧美疯狂xxxxbbbb | 亚洲欧美色中文字幕在线 | 给我免费的视频在线观看 | 狠狠色噜噜狠狠狠7777奇米 | 丰满少妇人妻久久久久久 | 初尝人妻少妇中文字幕 | 久久久婷婷五月亚洲97号色 | 午夜精品久久久内射近拍高清 | 在线亚洲高清揄拍自拍一品区 | a在线观看免费网站大全 | 亚洲成av人片在线观看无码不卡 | 欧美日韩视频无码一区二区三 | 蜜桃av抽搐高潮一区二区 | 伊人久久大香线焦av综合影院 | 日韩视频 中文字幕 视频一区 | 国产精品永久免费视频 | 日本又色又爽又黄的a片18禁 | 亚洲国产精品久久久天堂 | 成人一在线视频日韩国产 | 成人片黄网站色大片免费观看 | 国产乱子伦视频在线播放 | 精品偷拍一区二区三区在线看 | 国产深夜福利视频在线 | 亚洲午夜久久久影院 | 亚洲国产精品无码一区二区三区 | 国产午夜亚洲精品不卡下载 | 久久久中文字幕日本无吗 | 国产亚洲欧美日韩亚洲中文色 | 国产热a欧美热a在线视频 | 久久久久免费精品国产 | 人人妻人人澡人人爽人人精品浪潮 | 99在线 | 亚洲 | 国产一区二区不卡老阿姨 | 夜精品a片一区二区三区无码白浆 | 18禁黄网站男男禁片免费观看 | 女人被男人爽到呻吟的视频 | 中文字幕亚洲情99在线 | 无码中文字幕色专区 | 国产熟女一区二区三区四区五区 | 夜精品a片一区二区三区无码白浆 | 精品偷拍一区二区三区在线看 | √天堂资源地址中文在线 | 精品日本一区二区三区在线观看 | 日日噜噜噜噜夜夜爽亚洲精品 | 日韩少妇内射免费播放 | 亚洲中文无码av永久不收费 | 天天拍夜夜添久久精品大 | 蜜桃臀无码内射一区二区三区 | 亚洲精品国产第一综合99久久 | 国产精品对白交换视频 | 中文精品久久久久人妻不卡 | 亚洲区小说区激情区图片区 | 中文字幕无码日韩专区 | 亚洲国产成人a精品不卡在线 | 亚洲日韩av一区二区三区四区 | 亚洲精品久久久久久一区二区 | 精品一二三区久久aaa片 | 人妻与老人中文字幕 | 亚洲娇小与黑人巨大交 | 精品少妇爆乳无码av无码专区 | 红桃av一区二区三区在线无码av | 亚洲欧美国产精品久久 | 国产成人无码一二三区视频 | 亚洲精品一区二区三区在线 | 东京无码熟妇人妻av在线网址 | 欧美熟妇另类久久久久久不卡 | 丁香啪啪综合成人亚洲 | 红桃av一区二区三区在线无码av | 久久精品国产一区二区三区 | 精品厕所偷拍各类美女tp嘘嘘 | 无码福利日韩神码福利片 | 精品国产麻豆免费人成网站 | 性欧美牲交xxxxx视频 | 真人与拘做受免费视频一 | 欧美日本免费一区二区三区 | 大肉大捧一进一出好爽视频 | 国产偷国产偷精品高清尤物 | 无码av最新清无码专区吞精 | 国产精品18久久久久久麻辣 | 亚洲 a v无 码免 费 成 人 a v | 久久综合激激的五月天 | 99久久久无码国产精品免费 | 久久99国产综合精品 | 1000部啪啪未满十八勿入下载 | √天堂资源地址中文在线 | 久久99精品国产.久久久久 | 成人无码视频免费播放 | 又大又硬又黄的免费视频 | 久久久久久亚洲精品a片成人 | 亚洲热妇无码av在线播放 | 欧美 日韩 亚洲 在线 | 成 人 网 站国产免费观看 | 国产卡一卡二卡三 | 性做久久久久久久免费看 | 日韩精品无码一区二区中文字幕 | 欧美成人午夜精品久久久 | 成人女人看片免费视频放人 | 欧美日韩人成综合在线播放 | 黑人巨大精品欧美一区二区 | 亚洲精品综合五月久久小说 | 在线视频网站www色 | 日本高清一区免费中文视频 | 亚洲精品一区二区三区婷婷月 | 亚洲日本va中文字幕 | 亚洲日韩av一区二区三区四区 | 荫蒂被男人添的好舒服爽免费视频 | 日本www一道久久久免费榴莲 | 玩弄少妇高潮ⅹxxxyw | 久久精品女人天堂av免费观看 | 男人扒开女人内裤强吻桶进去 | 又黄又爽又色的视频 | ass日本丰满熟妇pics | 亚洲娇小与黑人巨大交 | 久久久久久亚洲精品a片成人 | 午夜福利一区二区三区在线观看 | 夜夜躁日日躁狠狠久久av | 亚洲日韩中文字幕在线播放 | 国产精品亚洲综合色区韩国 | 久久久精品成人免费观看 | 两性色午夜视频免费播放 | 精品熟女少妇av免费观看 | 久久天天躁夜夜躁狠狠 | 在线 国产 欧美 亚洲 天堂 | 国产sm调教视频在线观看 | 精品国产av色一区二区深夜久久 | 在线精品亚洲一区二区 | 蜜臀av在线播放 久久综合激激的五月天 | 久久久久se色偷偷亚洲精品av | 欧美日本日韩 | 久久久久久亚洲精品a片成人 | 亚洲成av人综合在线观看 | 精品乱子伦一区二区三区 | 东北女人啪啪对白 | 成人无码视频在线观看网站 | 中文字幕无码热在线视频 | 一本久道高清无码视频 | 一个人看的www免费视频在线观看 | 婷婷五月综合缴情在线视频 | 日本精品久久久久中文字幕 | 人人澡人人透人人爽 | 日日天干夜夜狠狠爱 | 成人av无码一区二区三区 | 377p欧洲日本亚洲大胆 | 久久国产36精品色熟妇 | 狠狠色欧美亚洲狠狠色www | 全球成人中文在线 | 偷窥日本少妇撒尿chinese | 色偷偷人人澡人人爽人人模 | 东京一本一道一二三区 | 亚洲自偷自偷在线制服 | 亚洲精品久久久久久一区二区 | 最新版天堂资源中文官网 | 中文字幕日产无线码一区 | av无码电影一区二区三区 | 国产色精品久久人妻 | 无码人妻少妇伦在线电影 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 波多野结衣av一区二区全免费观看 | 午夜时刻免费入口 | 色综合久久网 | 樱花草在线社区www | 色综合久久88色综合天天 | 亚洲色成人中文字幕网站 | 日本精品少妇一区二区三区 | 亚洲一区二区观看播放 | 久久精品丝袜高跟鞋 | 中文字幕乱码人妻无码久久 | 日本在线高清不卡免费播放 | 色欲久久久天天天综合网精品 | 中文字幕无码乱人伦 | 亚洲精品国偷拍自产在线麻豆 | 天堂无码人妻精品一区二区三区 | 亚洲一区av无码专区在线观看 | 国产亚洲精品久久久久久 | 国内精品人妻无码久久久影院蜜桃 | 久久亚洲中文字幕精品一区 | 樱花草在线社区www | 又湿又紧又大又爽a视频国产 | 国产肉丝袜在线观看 | 国产又爽又黄又刺激的视频 | 久久久成人毛片无码 | 亚洲国产精品一区二区美利坚 | 亚洲精品无码人妻无码 | 国产无套粉嫩白浆在线 | 国产办公室秘书无码精品99 | 波多野42部无码喷潮在线 | 福利一区二区三区视频在线观看 | 中文字幕av日韩精品一区二区 | 午夜精品久久久内射近拍高清 | 天天爽夜夜爽夜夜爽 | 免费人成网站视频在线观看 | 一区二区传媒有限公司 | 亚洲成色www久久网站 | 亚洲人成网站在线播放942 | 日韩无套无码精品 | 麻豆国产丝袜白领秘书在线观看 | 国产成人无码av在线影院 | 国产日产欧产精品精品app | 国产人成高清在线视频99最全资源 | 国产午夜福利亚洲第一 | 精品国产乱码久久久久乱码 | 内射爽无广熟女亚洲 | 国产精品久久精品三级 | 国产精品无码mv在线观看 | 午夜精品久久久久久久久 | 亚洲国产午夜精品理论片 | 高清无码午夜福利视频 | 欧美怡红院免费全部视频 | 国产美女极度色诱视频www | 波多野结衣av一区二区全免费观看 | 性欧美牲交在线视频 | 日本爽爽爽爽爽爽在线观看免 | 欧美性生交xxxxx久久久 | 无码午夜成人1000部免费视频 | 精品国产国产综合精品 | 亚洲娇小与黑人巨大交 | 在线亚洲高清揄拍自拍一品区 | 人妻无码αv中文字幕久久琪琪布 | 麻豆av传媒蜜桃天美传媒 | 激情五月综合色婷婷一区二区 | 亚洲乱码中文字幕在线 | 亚洲春色在线视频 | 无码一区二区三区在线 | 亚洲精品国产品国语在线观看 | 亚洲精品一区二区三区在线观看 | 亚洲另类伦春色综合小说 | 亚洲第一网站男人都懂 | 国产精品久久久久久久影院 | 亚洲一区二区三区四区 | 精品人妻人人做人人爽夜夜爽 | 99久久婷婷国产综合精品青草免费 | 7777奇米四色成人眼影 | 丝袜人妻一区二区三区 | 精品国产av色一区二区深夜久久 | 中文字幕无码av激情不卡 | 欧美色就是色 | 久久五月精品中文字幕 | 樱花草在线社区www | 在线精品国产一区二区三区 | 亚洲成a人片在线观看无码 | 亚洲一区av无码专区在线观看 | yw尤物av无码国产在线观看 | 色婷婷香蕉在线一区二区 | 国产亚洲精品精品国产亚洲综合 | 亚洲国产精品无码一区二区三区 | 久久无码人妻影院 | 国产电影无码午夜在线播放 | 免费视频欧美无人区码 | 亚洲天堂2017无码 | 国内丰满熟女出轨videos | 国产女主播喷水视频在线观看 | 亚洲成a人一区二区三区 | 强奷人妻日本中文字幕 | 一区二区三区乱码在线 | 欧洲 | 国产在线一区二区三区四区五区 | 亚洲日韩av一区二区三区四区 | 国内少妇偷人精品视频免费 | 男女超爽视频免费播放 | 日韩欧美成人免费观看 | 纯爱无遮挡h肉动漫在线播放 | 国内少妇偷人精品视频免费 | 澳门永久av免费网站 | 天天燥日日燥 | 国产精品亚洲а∨无码播放麻豆 | 久热国产vs视频在线观看 | 久久精品视频在线看15 | 人妻少妇精品无码专区二区 | 亚洲精品国产第一综合99久久 | 又湿又紧又大又爽a视频国产 | 少妇被粗大的猛进出69影院 | 精品久久久中文字幕人妻 | 在线观看欧美一区二区三区 | 国产网红无码精品视频 | 大肉大捧一进一出视频出来呀 | 国产成人精品久久亚洲高清不卡 | 综合人妻久久一区二区精品 | 国产成人无码一二三区视频 | 亚洲综合久久一区二区 | 免费无码的av片在线观看 | 免费无码午夜福利片69 | 人人澡人人透人人爽 | 日本一区二区三区免费高清 | 成人av无码一区二区三区 | 日韩精品一区二区av在线 | 久久亚洲a片com人成 | 亚洲天堂2017无码中文 | 国产电影无码午夜在线播放 | 2019nv天堂香蕉在线观看 | 亚洲乱码国产乱码精品精 | 国产乡下妇女做爰 | 成人动漫在线观看 | 欧美 丝袜 自拍 制服 另类 | 无码精品人妻一区二区三区av | 亚洲人成影院在线观看 | 鲁鲁鲁爽爽爽在线视频观看 | 国产欧美精品一区二区三区 | 久青草影院在线观看国产 | 初尝人妻少妇中文字幕 | 男女作爱免费网站 | 女人和拘做爰正片视频 | 婷婷色婷婷开心五月四房播播 | 又紧又大又爽精品一区二区 | 久久午夜无码鲁丝片秋霞 | 18无码粉嫩小泬无套在线观看 | 国产成人无码专区 | 日韩无套无码精品 | 中国大陆精品视频xxxx | 牲交欧美兽交欧美 | 影音先锋中文字幕无码 | 国产精品第一国产精品 | 极品嫩模高潮叫床 | 装睡被陌生人摸出水好爽 | 一本久久伊人热热精品中文字幕 | 国产尤物精品视频 | 1000部夫妻午夜免费 | 国产在线精品一区二区高清不卡 | 色一情一乱一伦一区二区三欧美 | 亚洲啪av永久无码精品放毛片 | 免费观看激色视频网站 | 久久视频在线观看精品 | 精品国产精品久久一区免费式 | 欧美日韩一区二区免费视频 | 日韩欧美成人免费观看 | 日本精品少妇一区二区三区 | 国内精品一区二区三区不卡 | 无码国产激情在线观看 | 免费中文字幕日韩欧美 | 久久久中文久久久无码 | 伊人久久大香线焦av综合影院 | 成人亚洲精品久久久久 | 精品无码成人片一区二区98 | 麻豆国产人妻欲求不满谁演的 | 免费无码的av片在线观看 | 久久久婷婷五月亚洲97号色 | 九九在线中文字幕无码 | 国产精品亚洲五月天高清 | 欧美丰满老熟妇xxxxx性 | 小泽玛莉亚一区二区视频在线 | 中国大陆精品视频xxxx | 亚洲精品一区二区三区在线 | 麻花豆传媒剧国产免费mv在线 | 久久久久免费精品国产 | 激情亚洲一区国产精品 | 日韩人妻少妇一区二区三区 | 国产熟女一区二区三区四区五区 | 午夜福利试看120秒体验区 | 国产精品毛片一区二区 | 无码福利日韩神码福利片 | www国产亚洲精品久久网站 | 狠狠亚洲超碰狼人久久 | 日本精品高清一区二区 | 偷窥村妇洗澡毛毛多 | 荫蒂添的好舒服视频囗交 | 亚洲综合在线一区二区三区 | 午夜精品久久久久久久 | 国产激情一区二区三区 | 亚无码乱人伦一区二区 | 性色av无码免费一区二区三区 | 女人被爽到呻吟gif动态图视看 | 国产麻豆精品精东影业av网站 | aⅴ亚洲 日韩 色 图网站 播放 | 青春草在线视频免费观看 | 美女毛片一区二区三区四区 | 两性色午夜视频免费播放 | 伊人久久婷婷五月综合97色 | 亚洲一区二区三区四区 | 精品国产国产综合精品 | 3d动漫精品啪啪一区二区中 | 永久免费精品精品永久-夜色 | 亚洲日韩av片在线观看 | 国产精品人人爽人人做我的可爱 | 台湾无码一区二区 | 男女爱爱好爽视频免费看 | 日韩亚洲欧美精品综合 | 人妻aⅴ无码一区二区三区 | 夜夜夜高潮夜夜爽夜夜爰爰 | 中文字幕无码免费久久99 | 中文字幕色婷婷在线视频 | 久久无码专区国产精品s | 国产午夜福利100集发布 | 精品日本一区二区三区在线观看 | 荫蒂添的好舒服视频囗交 | 精品人妻av区 | 成人免费视频一区二区 | 波多野结衣 黑人 | 西西人体www44rt大胆高清 | 久久综合给合久久狠狠狠97色 | 亚洲另类伦春色综合小说 | 亚洲熟妇色xxxxx欧美老妇 | 无码av岛国片在线播放 | 欧美熟妇另类久久久久久多毛 | 内射欧美老妇wbb | 人人超人人超碰超国产 | 亚洲日本va中文字幕 | 丰满人妻一区二区三区免费视频 | 国产午夜视频在线观看 | 亚洲精品国产第一综合99久久 | 99精品视频在线观看免费 | 亚洲精品久久久久久一区二区 | 亚洲成色在线综合网站 | 激情人妻另类人妻伦 | 国产精品国产三级国产专播 | 精品 日韩 国产 欧美 视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 男女性色大片免费网站 | 欧美 日韩 亚洲 在线 | 美女黄网站人色视频免费国产 | 久久久久99精品成人片 | 亚洲欧美国产精品久久 | 在线观看国产一区二区三区 | 国产无遮挡又黄又爽免费视频 | 美女极度色诱视频国产 | 一个人免费观看的www视频 | 成人一在线视频日韩国产 | 国产精品99久久精品爆乳 | 久青草影院在线观看国产 | 成人免费视频在线观看 | 国産精品久久久久久久 | 人妻插b视频一区二区三区 | 大地资源中文第3页 | 熟妇女人妻丰满少妇中文字幕 | 丝袜足控一区二区三区 | 在线播放免费人成毛片乱码 | 久久99精品久久久久婷婷 | 无码人妻黑人中文字幕 | 东京热男人av天堂 | 国产偷国产偷精品高清尤物 | 久久99久久99精品中文字幕 | 天堂无码人妻精品一区二区三区 | 亚洲色大成网站www国产 | 桃花色综合影院 | 精品国偷自产在线视频 | 亚洲aⅴ无码成人网站国产app | 少妇厨房愉情理9仑片视频 | 成人毛片一区二区 | 7777奇米四色成人眼影 | 激情国产av做激情国产爱 | 国产精品第一区揄拍无码 | 在线观看国产午夜福利片 | 亚洲中文字幕无码一久久区 | 精品国产乱码久久久久乱码 | 欧美成人家庭影院 | 成年美女黄网站色大免费全看 | 亚洲s色大片在线观看 | a在线亚洲男人的天堂 | 成 人 网 站国产免费观看 | 亚洲色欲色欲欲www在线 | 国产成人亚洲综合无码 | 久久人人爽人人人人片 | 亚洲中文字幕av在天堂 | 一本色道久久综合狠狠躁 | 小泽玛莉亚一区二区视频在线 | 精品无码一区二区三区的天堂 | 国产做国产爱免费视频 | 成人动漫在线观看 | 中文字幕+乱码+中文字幕一区 | 无码av最新清无码专区吞精 | 亚洲人成影院在线观看 | 日本xxxx色视频在线观看免费 | 久久无码中文字幕免费影院蜜桃 | 无码精品人妻一区二区三区av | 成人毛片一区二区 | 人人爽人人澡人人人妻 | 久久久久久九九精品久 | 老头边吃奶边弄进去呻吟 | 99精品视频在线观看免费 | 中文字幕精品av一区二区五区 | 国内揄拍国内精品人妻 | 国产内射爽爽大片视频社区在线 | 国产乱子伦视频在线播放 | 亚洲爆乳大丰满无码专区 | 熟女少妇人妻中文字幕 | а√天堂www在线天堂小说 | 夜夜躁日日躁狠狠久久av | 国产特级毛片aaaaaaa高清 | 5858s亚洲色大成网站www | 国产亚洲视频中文字幕97精品 | 男女下面进入的视频免费午夜 | 中国女人内谢69xxxx | 国产综合色产在线精品 | 伊人久久大香线焦av综合影院 | 日本免费一区二区三区最新 | 大胆欧美熟妇xx | 久久 国产 尿 小便 嘘嘘 | 久久久久av无码免费网 | 狠狠综合久久久久综合网 | 精品夜夜澡人妻无码av蜜桃 | 精品偷自拍另类在线观看 | 97夜夜澡人人双人人人喊 | 天天做天天爱天天爽综合网 | 一本色道久久综合亚洲精品不卡 | 国产精品人人爽人人做我的可爱 | 国产精品99爱免费视频 | 久久久久免费精品国产 | 亚洲成av人在线观看网址 | 久久精品中文字幕大胸 | 鲁一鲁av2019在线 | 精品欧洲av无码一区二区三区 | 日韩av无码一区二区三区不卡 | 欧美日韩亚洲国产精品 | 亚洲欧美国产精品久久 | 99久久人妻精品免费一区 | 国产无av码在线观看 | 欧美丰满老熟妇xxxxx性 | 麻豆国产人妻欲求不满 | 人妻互换免费中文字幕 | 国产高潮视频在线观看 | 久久成人a毛片免费观看网站 | 狠狠综合久久久久综合网 | www国产精品内射老师 | av无码久久久久不卡免费网站 | 性色欲情网站iwww九文堂 | 国产亚洲视频中文字幕97精品 | 成人无码视频在线观看网站 | 青青久在线视频免费观看 | 正在播放老肥熟妇露脸 | 超碰97人人做人人爱少妇 | 亚洲精品中文字幕 | 国产人成高清在线视频99最全资源 | 日本一本二本三区免费 | 天天摸天天透天天添 | 少妇被粗大的猛进出69影院 | 久久亚洲国产成人精品性色 | 中文字幕 亚洲精品 第1页 | 一本色道婷婷久久欧美 | 内射后入在线观看一区 | 精品欧美一区二区三区久久久 | 国产午夜精品一区二区三区嫩草 | 久久国内精品自在自线 | 高潮毛片无遮挡高清免费 | 欧美黑人乱大交 | 久久国产劲爆∧v内射 | 国内丰满熟女出轨videos | 国产午夜亚洲精品不卡 | 熟妇女人妻丰满少妇中文字幕 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 国产成人一区二区三区别 | 九九综合va免费看 | 18禁黄网站男男禁片免费观看 | 亚洲成av人片在线观看无码不卡 | 永久免费精品精品永久-夜色 | 久久97精品久久久久久久不卡 | 中文字幕色婷婷在线视频 | 国产精品办公室沙发 | 永久免费观看美女裸体的网站 | 性欧美videos高清精品 | 久久zyz资源站无码中文动漫 | 日本大乳高潮视频在线观看 | 亚洲а∨天堂久久精品2021 | 综合激情五月综合激情五月激情1 | 麻花豆传媒剧国产免费mv在线 | 一本久久伊人热热精品中文字幕 | 午夜丰满少妇性开放视频 | 中文字幕乱码亚洲无线三区 | 国产精品国产三级国产专播 | 日本xxxx色视频在线观看免费 | 高清不卡一区二区三区 | 中文字幕无码av激情不卡 | 国产亚av手机在线观看 | 高潮喷水的毛片 | 97精品人妻一区二区三区香蕉 | 欧美xxxx黑人又粗又长 | 精品成在人线av无码免费看 | 日韩欧美群交p片內射中文 | 亚洲精品久久久久中文第一幕 | 久久久久久a亚洲欧洲av冫 | 亚洲七七久久桃花影院 | 又粗又大又硬又长又爽 | 久久97精品久久久久久久不卡 | 欧美兽交xxxx×视频 | 妺妺窝人体色www在线小说 | 男女下面进入的视频免费午夜 | 精品国产一区二区三区四区 | 永久免费精品精品永久-夜色 | 丰满岳乱妇在线观看中字无码 | 免费人成在线视频无码 | 日本熟妇大屁股人妻 | 一本精品99久久精品77 | 免费看少妇作爱视频 | 正在播放老肥熟妇露脸 | 亚洲精品国偷拍自产在线观看蜜桃 | 噜噜噜亚洲色成人网站 | 玩弄少妇高潮ⅹxxxyw | 亚洲狠狠婷婷综合久久 | 欧美人与动性行为视频 | 欧美第一黄网免费网站 | 天干天干啦夜天干天2017 | 精品久久久无码人妻字幂 | 国产精品久久久久久亚洲影视内衣 | 88国产精品欧美一区二区三区 | 国产乱人伦av在线无码 | 色情久久久av熟女人妻网站 | 国产乱人伦偷精品视频 | 人妻少妇精品无码专区二区 | 日韩精品无码免费一区二区三区 | 狠狠噜狠狠狠狠丁香五月 | 中文字幕人妻无码一区二区三区 | 国产综合久久久久鬼色 | 国产真实夫妇视频 | 图片小说视频一区二区 | 老熟妇仑乱视频一区二区 | 国产麻豆精品一区二区三区v视界 | 国产精品内射视频免费 | 天堂亚洲2017在线观看 | 丰满肥臀大屁股熟妇激情视频 | 日韩成人一区二区三区在线观看 | aⅴ在线视频男人的天堂 | 精品亚洲韩国一区二区三区 | 在线视频网站www色 | 国产亚洲精品久久久ai换 | 亚洲人成影院在线观看 | 99久久久无码国产aaa精品 | 熟妇女人妻丰满少妇中文字幕 | 精品久久久中文字幕人妻 | 欧美精品一区二区精品久久 | 网友自拍区视频精品 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产成人无码av一区二区 | 国产午夜无码视频在线观看 | 给我免费的视频在线观看 | 国产人妖乱国产精品人妖 | 无码人妻黑人中文字幕 | 久久国产精品_国产精品 | 欧美成人家庭影院 | 亚洲欧美精品aaaaaa片 | 国产真人无遮挡作爱免费视频 | 国产综合色产在线精品 | 国内精品一区二区三区不卡 | 内射欧美老妇wbb | 人妻少妇被猛烈进入中文字幕 | 欧美日韩视频无码一区二区三 | 蜜桃av抽搐高潮一区二区 | 人妻中文无码久热丝袜 | 97无码免费人妻超级碰碰夜夜 | 久久久久久久人妻无码中文字幕爆 | 天堂无码人妻精品一区二区三区 | 精品一区二区三区波多野结衣 | 黑人巨大精品欧美一区二区 | 国产va免费精品观看 | 女人被男人躁得好爽免费视频 | 国产成人综合在线女婷五月99播放 | 婷婷丁香五月天综合东京热 | 中文字幕无码免费久久99 | 亚洲娇小与黑人巨大交 | 丰满肥臀大屁股熟妇激情视频 | 欧美一区二区三区视频在线观看 | 妺妺窝人体色www在线小说 | 77777熟女视频在线观看 а天堂中文在线官网 | 国产精华av午夜在线观看 | 国产精品资源一区二区 | 一本久久a久久精品vr综合 | 亚洲区小说区激情区图片区 | 丝袜美腿亚洲一区二区 | 日日噜噜噜噜夜夜爽亚洲精品 | 久久久久国色av免费观看性色 | 国产成人精品无码播放 | 蜜桃臀无码内射一区二区三区 | 国产97人人超碰caoprom | 在线播放无码字幕亚洲 | 55夜色66夜色国产精品视频 | 亚洲自偷自拍另类第1页 | 丰满妇女强制高潮18xxxx | 人人妻人人澡人人爽精品欧美 | 无码人妻av免费一区二区三区 | 俺去俺来也www色官网 | 久久亚洲日韩精品一区二区三区 | 亚洲午夜无码久久 | 久久97精品久久久久久久不卡 | 欧洲vodafone精品性 | 骚片av蜜桃精品一区 | 奇米影视7777久久精品人人爽 | 99久久人妻精品免费二区 | 午夜精品一区二区三区的区别 | 亚洲国产精品毛片av不卡在线 | 狠狠色色综合网站 | 中文字幕+乱码+中文字幕一区 | 亚洲精品中文字幕久久久久 | 国内精品人妻无码久久久影院蜜桃 | 丰满妇女强制高潮18xxxx | 综合激情五月综合激情五月激情1 | a在线亚洲男人的天堂 | 免费人成网站视频在线观看 | 欧美人与动性行为视频 | 中文字幕人妻无码一区二区三区 | www成人国产高清内射 | 沈阳熟女露脸对白视频 | 最近的中文字幕在线看视频 | 兔费看少妇性l交大片免费 | 高清国产亚洲精品自在久久 | 欧美色就是色 | 亚洲aⅴ无码成人网站国产app | 日本xxxx色视频在线观看免费 | 377p欧洲日本亚洲大胆 | 日韩av无码中文无码电影 | 人人妻人人澡人人爽人人精品 | 免费观看又污又黄的网站 | 大肉大捧一进一出视频出来呀 | 国产成人精品久久亚洲高清不卡 | 丰满少妇人妻久久久久久 | 无码av中文字幕免费放 | 女人高潮内射99精品 | 精品久久久无码中文字幕 | 18无码粉嫩小泬无套在线观看 | 免费视频欧美无人区码 | 欧美丰满少妇xxxx性 | 无码毛片视频一区二区本码 | 少妇一晚三次一区二区三区 | 一个人看的视频www在线 | 亚洲高清偷拍一区二区三区 | 一本久久伊人热热精品中文字幕 | 人人澡人人透人人爽 | 国产精品无码久久av | 精品一区二区不卡无码av | 乱码午夜-极国产极内射 | 精品乱码久久久久久久 | 无码人妻出轨黑人中文字幕 | 丰满人妻翻云覆雨呻吟视频 | 天下第一社区视频www日本 | 好男人社区资源 | 亚洲а∨天堂久久精品2021 | 免费中文字幕日韩欧美 | 中文字幕无线码免费人妻 | 久精品国产欧美亚洲色aⅴ大片 | 在线观看国产一区二区三区 | 久久zyz资源站无码中文动漫 | 国产精品爱久久久久久久 | 国产超级va在线观看视频 | 蜜桃视频韩日免费播放 | 最新版天堂资源中文官网 | 久久久精品456亚洲影院 | 少妇性俱乐部纵欲狂欢电影 | 无遮挡国产高潮视频免费观看 | 又粗又大又硬又长又爽 | 67194成是人免费无码 | 露脸叫床粗话东北少妇 | 国内精品人妻无码久久久影院蜜桃 | 久久精品女人的天堂av | 扒开双腿疯狂进出爽爽爽视频 | 久久亚洲国产成人精品性色 | 久久精品国产一区二区三区 | 婷婷丁香五月天综合东京热 | 蜜臀av在线播放 久久综合激激的五月天 | 波多野结衣乳巨码无在线观看 | 天天综合网天天综合色 | 久久无码人妻影院 | 日日摸日日碰夜夜爽av | 噜噜噜亚洲色成人网站 | 最近的中文字幕在线看视频 | 无码国产激情在线观看 | 在教室伦流澡到高潮hnp视频 | 亚洲一区二区三区播放 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲 a v无 码免 费 成 人 a v | 无码任你躁久久久久久久 | 亚洲欧美精品伊人久久 | 日本精品高清一区二区 | 人妻少妇被猛烈进入中文字幕 | 中文字幕色婷婷在线视频 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 久久午夜无码鲁丝片秋霞 | 午夜福利一区二区三区在线观看 | 国内老熟妇对白xxxxhd | 欧美人妻一区二区三区 | 国产免费观看黄av片 | 色爱情人网站 | 狠狠色丁香久久婷婷综合五月 | 亚洲欧美日韩成人高清在线一区 | 亚洲成在人网站无码天堂 | 又粗又大又硬又长又爽 | 爱做久久久久久 | 无套内射视频囯产 | 国产三级精品三级男人的天堂 | 亚洲日韩中文字幕在线播放 | 国产真人无遮挡作爱免费视频 | 国产乱人偷精品人妻a片 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲 欧美 激情 小说 另类 | 国产无遮挡吃胸膜奶免费看 | 2020久久超碰国产精品最新 | 麻豆国产人妻欲求不满谁演的 | 国产亚洲精品久久久久久大师 | 日本精品少妇一区二区三区 | 日本欧美一区二区三区乱码 | 亚洲一区二区三区播放 | 亚洲精品一区二区三区婷婷月 | www国产亚洲精品久久久日本 | 亚洲色欲色欲天天天www | 色五月五月丁香亚洲综合网 | 欧洲熟妇色 欧美 | 兔费看少妇性l交大片免费 | 国产成人精品一区二区在线小狼 | 国内老熟妇对白xxxxhd | 67194成是人免费无码 | 精品人人妻人人澡人人爽人人 | 亚洲色偷偷男人的天堂 | 中文字幕乱码中文乱码51精品 | 狠狠综合久久久久综合网 | 99久久精品无码一区二区毛片 | 国产亚洲人成a在线v网站 | 成人欧美一区二区三区黑人 | 97夜夜澡人人爽人人喊中国片 | 狠狠噜狠狠狠狠丁香五月 | 久久久精品人妻久久影视 | 高清国产亚洲精品自在久久 | 久久午夜夜伦鲁鲁片无码免费 | 九九综合va免费看 | 久久久婷婷五月亚洲97号色 | 扒开双腿疯狂进出爽爽爽视频 | 日产精品99久久久久久 | 亲嘴扒胸摸屁股激烈网站 | 扒开双腿疯狂进出爽爽爽视频 | 精品人妻av区 | 久久久亚洲欧洲日产国码αv | 中文字幕久久久久人妻 | 国产性生大片免费观看性 | 色婷婷久久一区二区三区麻豆 | 97人妻精品一区二区三区 | 日日摸夜夜摸狠狠摸婷婷 | 色婷婷久久一区二区三区麻豆 | 国产精品久免费的黄网站 | 老司机亚洲精品影院无码 | 亚洲七七久久桃花影院 | 亚洲毛片av日韩av无码 | 激情五月综合色婷婷一区二区 | 天堂а√在线中文在线 | 国产超级va在线观看视频 | 蜜桃视频插满18在线观看 | 男人扒开女人内裤强吻桶进去 | 妺妺窝人体色www在线小说 | 成人精品视频一区二区三区尤物 | 人妻有码中文字幕在线 | 成人欧美一区二区三区黑人 | 久久久中文字幕日本无吗 | 亚洲国产一区二区三区在线观看 | 国产av一区二区精品久久凹凸 | 夜夜夜高潮夜夜爽夜夜爰爰 | 国产内射爽爽大片视频社区在线 | 欧美丰满熟妇xxxx | 偷窥村妇洗澡毛毛多 | 亚洲aⅴ无码成人网站国产app | 亚洲欧美日韩国产精品一区二区 | 人人妻人人澡人人爽欧美精品 | 人人妻人人澡人人爽欧美一区九九 | 偷窥日本少妇撒尿chinese | 日本大香伊一区二区三区 | 亚洲 日韩 欧美 成人 在线观看 | 天天摸天天透天天添 | 欧美日韩视频无码一区二区三 | 国产熟妇高潮叫床视频播放 | 内射后入在线观看一区 | 精品无码一区二区三区的天堂 | 性欧美大战久久久久久久 | 中文字幕乱码中文乱码51精品 | 国产欧美熟妇另类久久久 | 樱花草在线播放免费中文 | 久久久久久a亚洲欧洲av冫 | 77777熟女视频在线观看 а天堂中文在线官网 | 水蜜桃亚洲一二三四在线 | 5858s亚洲色大成网站www | 成人性做爰aaa片免费看不忠 | 亚洲国产精品久久久久久 | 国产色xx群视频射精 | 午夜熟女插插xx免费视频 | 亚洲日本在线电影 | 中文字幕人妻无码一夲道 | 欧美性生交xxxxx久久久 | 大地资源网第二页免费观看 | 少妇性l交大片欧洲热妇乱xxx | 六十路熟妇乱子伦 | 日欧一片内射va在线影院 | 人人妻人人澡人人爽欧美一区 | 国产成人无码av片在线观看不卡 | 久久精品无码一区二区三区 | 清纯唯美经典一区二区 | 国产亚洲人成a在线v网站 | 丰满少妇女裸体bbw | 精品成人av一区二区三区 | 久久人妻内射无码一区三区 | 国产偷国产偷精品高清尤物 | 亚洲精品综合五月久久小说 | 男女猛烈xx00免费视频试看 | 国产av一区二区三区最新精品 | 久久精品国产一区二区三区肥胖 | 久久综合给合久久狠狠狠97色 | 亚洲色大成网站www | 国产av一区二区精品久久凹凸 | 波多野结衣一区二区三区av免费 | 成人欧美一区二区三区黑人免费 | 大肉大捧一进一出好爽视频 | 免费无码肉片在线观看 | 东京热一精品无码av | 亚洲性无码av中文字幕 | 欧美日韩亚洲国产精品 | 装睡被陌生人摸出水好爽 | 免费人成在线观看网站 | 精品一区二区三区波多野结衣 | 欧美成人高清在线播放 | 欧美日韩视频无码一区二区三 | 国产人妻久久精品二区三区老狼 | 无码人妻久久一区二区三区不卡 | 亚洲日韩精品欧美一区二区 | 呦交小u女精品视频 | 国精品人妻无码一区二区三区蜜柚 | 18黄暴禁片在线观看 | 久精品国产欧美亚洲色aⅴ大片 | 两性色午夜视频免费播放 | 国精品人妻无码一区二区三区蜜柚 | 玩弄少妇高潮ⅹxxxyw | 久久精品人妻少妇一区二区三区 | 午夜无码区在线观看 | 国产精品亚洲一区二区三区喷水 | 夜夜夜高潮夜夜爽夜夜爰爰 | 97精品人妻一区二区三区香蕉 | 亚洲爆乳大丰满无码专区 | 亚无码乱人伦一区二区 | 精品厕所偷拍各类美女tp嘘嘘 | 伊在人天堂亚洲香蕉精品区 | 成人性做爰aaa片免费看不忠 | 国产免费久久久久久无码 | 一本久道久久综合狠狠爱 | 成人免费无码大片a毛片 | 久久久亚洲欧洲日产国码αv | 97久久国产亚洲精品超碰热 | 国产卡一卡二卡三 | 国产精品香蕉在线观看 | 国产肉丝袜在线观看 | 欧美日韩一区二区三区自拍 | 桃花色综合影院 | 小鲜肉自慰网站xnxx | 一本色道久久综合亚洲精品不卡 | 人妻aⅴ无码一区二区三区 | 99精品无人区乱码1区2区3区 | 欧美乱妇无乱码大黄a片 | 欧美成人家庭影院 | 久久久久免费看成人影片 | 国产手机在线αⅴ片无码观看 | 国产卡一卡二卡三 | 亚洲成av人影院在线观看 | 97夜夜澡人人双人人人喊 | 久久久婷婷五月亚洲97号色 | 亚洲熟悉妇女xxx妇女av | 国产人妻人伦精品 | 乌克兰少妇性做爰 | 日本爽爽爽爽爽爽在线观看免 | 任你躁国产自任一区二区三区 | 欧美日韩人成综合在线播放 | 宝宝好涨水快流出来免费视频 | 亚洲 a v无 码免 费 成 人 a v | 国产精品久久久av久久久 | 欧美性猛交内射兽交老熟妇 | 呦交小u女精品视频 | 久久99精品国产麻豆 | 人妻插b视频一区二区三区 | 老熟妇仑乱视频一区二区 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 真人与拘做受免费视频一 | 日本一区二区更新不卡 | 99久久精品无码一区二区毛片 | 成人无码视频在线观看网站 | 国产av无码专区亚洲awww | 亚洲一区二区三区四区 | 在线成人www免费观看视频 | 欧美日韩一区二区免费视频 | 国产 浪潮av性色四虎 | 色五月五月丁香亚洲综合网 | 国产精品高潮呻吟av久久4虎 | 日本熟妇大屁股人妻 | 国产精品久久久久7777 | 夜夜高潮次次欢爽av女 | 国产精品久久福利网站 | 亚洲日韩乱码中文无码蜜桃臀网站 | 久久综合香蕉国产蜜臀av | 亚洲乱亚洲乱妇50p | 欧美熟妇另类久久久久久不卡 | 国产av久久久久精东av | 精品 日韩 国产 欧美 视频 | 四虎影视成人永久免费观看视频 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 好爽又高潮了毛片免费下载 | 亚洲一区二区三区偷拍女厕 | 成人性做爰aaa片免费看 | 欧美日韩一区二区综合 | 亚洲精品一区二区三区婷婷月 | 激情亚洲一区国产精品 | 精品无码成人片一区二区98 | 久久zyz资源站无码中文动漫 | 疯狂三人交性欧美 | 在线欧美精品一区二区三区 | 99久久精品无码一区二区毛片 | 亚洲爆乳大丰满无码专区 | 日本大香伊一区二区三区 | 国产精品沙发午睡系列 | 国产精品久久精品三级 | 亚洲午夜福利在线观看 | 久久精品国产一区二区三区 | 熟妇激情内射com | 国产成人无码一二三区视频 | 高潮毛片无遮挡高清免费 | 夜夜夜高潮夜夜爽夜夜爰爰 | 久久精品一区二区三区四区 | 久久亚洲日韩精品一区二区三区 | 亚洲日本va中文字幕 | 免费乱码人妻系列无码专区 | 免费观看激色视频网站 | 色婷婷欧美在线播放内射 | 中文字幕乱码人妻无码久久 | 国产色xx群视频射精 | 日本www一道久久久免费榴莲 | 午夜成人1000部免费视频 | 欧美激情综合亚洲一二区 | 国产熟妇高潮叫床视频播放 | 捆绑白丝粉色jk震动捧喷白浆 | 欧美熟妇另类久久久久久不卡 | 亚洲国产精品美女久久久久 | 男人扒开女人内裤强吻桶进去 | 色欲久久久天天天综合网精品 | 亚洲日韩av一区二区三区中文 | 无码人妻黑人中文字幕 | 人人妻人人澡人人爽人人精品浪潮 | 精品欧洲av无码一区二区三区 | 亚洲中文无码av永久不收费 | 久久精品人妻少妇一区二区三区 | 国产又爽又猛又粗的视频a片 | 亚洲精品无码人妻无码 | 国产色精品久久人妻 | 久久久中文字幕日本无吗 | 国产精品高潮呻吟av久久4虎 | 无码人中文字幕 | 久久综合久久自在自线精品自 | 巨爆乳无码视频在线观看 | 欧美亚洲日韩国产人成在线播放 | 亚洲中文字幕无码中字 | 日韩精品一区二区av在线 | 中文精品无码中文字幕无码专区 | 午夜理论片yy44880影院 | 成人片黄网站色大片免费观看 | 亚洲日韩乱码中文无码蜜桃臀网站 | 中文字幕亚洲情99在线 | 国产人妖乱国产精品人妖 | 欧美刺激性大交 | 综合激情五月综合激情五月激情1 | 欧美zoozzooz性欧美 | 亚洲日本va中文字幕 | 国产va免费精品观看 | 国产在线精品一区二区高清不卡 | 日本护士xxxxhd少妇 | 妺妺窝人体色www在线小说 | 国产午夜福利亚洲第一 | 熟妇人妻无乱码中文字幕 | 男人扒开女人内裤强吻桶进去 | 亚洲区小说区激情区图片区 | 在线成人www免费观看视频 | 伦伦影院午夜理论片 | 老熟女重囗味hdxx69 | 无码国产色欲xxxxx视频 | 色婷婷香蕉在线一区二区 | 亚洲日本va中文字幕 | 噜噜噜亚洲色成人网站 | 亚洲综合伊人久久大杳蕉 | 日韩精品无码一区二区中文字幕 | 精品无码国产自产拍在线观看蜜 | 国产美女极度色诱视频www | 国内精品人妻无码久久久影院蜜桃 | 中文无码成人免费视频在线观看 | 国产精品嫩草久久久久 | 丰满妇女强制高潮18xxxx | 国产片av国语在线观看 | 欧美freesex黑人又粗又大 | 人妻互换免费中文字幕 | 无码福利日韩神码福利片 | 精品一区二区不卡无码av | 无码人妻精品一区二区三区不卡 | 蜜桃av抽搐高潮一区二区 | 麻花豆传媒剧国产免费mv在线 | 国产人妻人伦精品 | 中文字幕 人妻熟女 | 一区二区三区乱码在线 | 欧洲 | 国产精品久久福利网站 | 青青草原综合久久大伊人精品 | 日日鲁鲁鲁夜夜爽爽狠狠 | 三级4级全黄60分钟 | 亚洲欧美日韩综合久久久 | 国产无遮挡又黄又爽又色 | 久久午夜夜伦鲁鲁片无码免费 | 亚洲中文字幕va福利 | 成人无码视频在线观看网站 | 亚洲成a人片在线观看无码3d | 性做久久久久久久免费看 | 精品乱码久久久久久久 | 色婷婷综合中文久久一本 | 婷婷五月综合激情中文字幕 | 久久国产劲爆∧v内射 | 男人的天堂av网站 | 亚洲a无码综合a国产av中文 | 中文字幕无码人妻少妇免费 | 无套内射视频囯产 | 蜜桃视频韩日免费播放 | a片在线免费观看 | 天天拍夜夜添久久精品大 | 国产亚av手机在线观看 | 狠狠cao日日穞夜夜穞av | 欧美人与禽猛交狂配 | av人摸人人人澡人人超碰下载 | 国内少妇偷人精品视频 | 亚洲精品成人av在线 | 夜夜高潮次次欢爽av女 | 真人与拘做受免费视频 | 日产精品99久久久久久 | 老子影院午夜精品无码 | 伊在人天堂亚洲香蕉精品区 | 性生交大片免费看女人按摩摩 | 国产乱人无码伦av在线a | 国产在线无码精品电影网 | 国产偷抇久久精品a片69 | 国产精华av午夜在线观看 | 澳门永久av免费网站 | 免费看少妇作爱视频 | 少妇无套内谢久久久久 | 久久精品女人天堂av免费观看 | 亚洲精品一区二区三区在线观看 | 又大又紧又粉嫩18p少妇 | 精品国偷自产在线视频 | 亚洲大尺度无码无码专区 | 给我免费的视频在线观看 | 国产一区二区不卡老阿姨 | 国内少妇偷人精品视频免费 | 精品偷自拍另类在线观看 | 精品无码国产自产拍在线观看蜜 | 97精品国产97久久久久久免费 | √8天堂资源地址中文在线 | 在线精品国产一区二区三区 | 精品国偷自产在线 | 国内丰满熟女出轨videos | 色老头在线一区二区三区 | 亚洲国产欧美日韩精品一区二区三区 | 99在线 | 亚洲 | 国产办公室秘书无码精品99 | 少妇一晚三次一区二区三区 | www国产亚洲精品久久网站 | 奇米影视888欧美在线观看 | 亚洲一区二区三区播放 | 国产成人一区二区三区在线观看 | 国产亚洲精品久久久ai换 | 窝窝午夜理论片影院 | 国产成人人人97超碰超爽8 | 久9re热视频这里只有精品 | 国产超级va在线观看视频 | 俺去俺来也www色官网 | 纯爱无遮挡h肉动漫在线播放 | 亚洲无人区一区二区三区 | 亚洲精品成人福利网站 | 亚洲精品www久久久 | 欧美自拍另类欧美综合图片区 | 国产 浪潮av性色四虎 | 老熟妇仑乱视频一区二区 | 婷婷综合久久中文字幕蜜桃三电影 | 国产特级毛片aaaaaa高潮流水 | 男女作爱免费网站 | 久久精品视频在线看15 | 一区二区传媒有限公司 | 亚洲爆乳大丰满无码专区 | 97夜夜澡人人双人人人喊 | 久久视频在线观看精品 | 亚洲自偷自偷在线制服 | 无码免费一区二区三区 | 少妇性俱乐部纵欲狂欢电影 | 亚洲成a人片在线观看无码3d | 久久精品国产亚洲精品 | 欧美熟妇另类久久久久久多毛 | 永久免费观看美女裸体的网站 | 成年美女黄网站色大免费视频 | 日韩欧美群交p片內射中文 | 装睡被陌生人摸出水好爽 | 中文字幕无码免费久久9一区9 | 野狼第一精品社区 | 欧美老妇交乱视频在线观看 | 午夜熟女插插xx免费视频 | 少妇高潮喷潮久久久影院 | 免费无码一区二区三区蜜桃大 | 国产精品免费大片 | 午夜精品久久久久久久久 | 夜夜夜高潮夜夜爽夜夜爰爰 | 精品久久久无码人妻字幂 | 欧洲熟妇色 欧美 | 国产超级va在线观看视频 | 少妇邻居内射在线 | 精品人妻av区 | 中文字幕亚洲情99在线 | 久久99精品国产麻豆蜜芽 | 午夜嘿嘿嘿影院 | 亚洲男人av天堂午夜在 | 色婷婷综合激情综在线播放 | 中文字幕无码免费久久9一区9 | av无码电影一区二区三区 | 国产精品嫩草久久久久 | 成人精品一区二区三区中文字幕 | 亚洲人交乣女bbw | 国产精品鲁鲁鲁 | 人妻人人添人妻人人爱 | 免费国产黄网站在线观看 | 久久久久久亚洲精品a片成人 | 国产真实伦对白全集 | 国产片av国语在线观看 | 国产精品久久久久影院嫩草 | 又色又爽又黄的美女裸体网站 | 免费国产黄网站在线观看 | 国产av一区二区三区最新精品 | 人妻插b视频一区二区三区 | 婷婷丁香六月激情综合啪 | 露脸叫床粗话东北少妇 | 中文字幕乱码人妻二区三区 | 久久久久久国产精品无码下载 | 久久久精品人妻久久影视 | 国产真人无遮挡作爱免费视频 | 婷婷色婷婷开心五月四房播播 | 无码午夜成人1000部免费视频 |