日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

基于FPGA的音樂(lè)演奏電路設(shè)計(jì):從分頻原理到Verilog實(shí)現(xiàn)

基于FPGA的音樂(lè)演奏電路設(shè)計(jì):從分頻原理到Verilog實(shí)現(xiàn) 簡(jiǎn)介本資源是一套基于FPGA實(shí)現(xiàn)音樂(lè)自動(dòng)演奏的完整Verilog開(kāi)發(fā)工程面向數(shù)字電路初學(xué)者、嵌入式硬件愛(ài)好者及高校電子類課程實(shí)踐者解決從音符編碼、頻率生成到音頻輸出的全流程硬件設(shè)計(jì)問(wèn)題。壓縮包共166個(gè)文件約13.85MB涵蓋核心Verilog源碼如decoder.v、clk_divide.v、music_top.v等、Quartus工程配置文件.qpf、.qsf、.bdf、綜合與仿真報(bào)告.rpt、.vwf、.logdb、IP配置信息.mif、.sof及備份與調(diào)試輔助文件.bak、.hdb、.cdb結(jié)構(gòu)完整便于理解FPGA音樂(lè)系統(tǒng)各模塊協(xié)同邏輯。已有750人學(xué)習(xí)下載資源包含可直接編譯下載的頂層工程、分模塊注釋清晰的RTL代碼、典型音階頻率映射表及基礎(chǔ)DA轉(zhuǎn)換接口說(shuō)明有助于掌握時(shí)序控制、分頻設(shè)計(jì)、ROM查表發(fā)聲等關(guān)鍵技能并為擴(kuò)展多音軌、PWM音量調(diào)節(jié)等進(jìn)階功能提供可靠起點(diǎn)。1. 項(xiàng)目概述一塊FPGA板子能演奏什么做FPGA的第一年我干過(guò)一件特別有成就感的事讓一塊普通的FPGA開(kāi)發(fā)板上電之后從蜂鳴器里完整地放出了《小星星》。說(shuō)實(shí)話音質(zhì)和早年那種叮咚門鈴差不多但旁邊不懂硬件的室友聽(tīng)完愣了半天——這玩意兒還能唱歌這個(gè)基于FPGA的音樂(lè)演奏電路項(xiàng)目本質(zhì)上就是做一個(gè)以FPGA為控制核心的音調(diào)發(fā)生器。它能做兩件事一是按預(yù)設(shè)曲譜自動(dòng)播放音樂(lè)二是通過(guò)按鍵當(dāng)作簡(jiǎn)易電子琴來(lái)實(shí)時(shí)演奏。無(wú)論哪種模式核心都是同一件事把樂(lè)譜上的音符翻譯成硬件邏輯能理解的頻率再把頻率轉(zhuǎn)換成驅(qū)動(dòng)揚(yáng)聲器的電信號(hào)。為什么選FPGA來(lái)做這個(gè)看似殺雞用牛刀的項(xiàng)目我自己做完之后體會(huì)很深首先是時(shí)序的可控性音高要求的是高精度的周期性波形FPGA的時(shí)鐘分頻能做到百萬(wàn)分之一量級(jí)的頻率精度其次是并行性學(xué)完這個(gè)項(xiàng)目你會(huì)對(duì)狀態(tài)機(jī)數(shù)據(jù)通路這套FPGA設(shè)計(jì)的核心方法論有實(shí)實(shí)在在的體感而不是停留在課本上。無(wú)論你是剛學(xué)Verilog的初學(xué)者還是想給學(xué)生找一個(gè)綜合性教學(xué)項(xiàng)目的老師這個(gè)題目都值得動(dòng)手做一遍。它涵蓋的模塊拆解、參數(shù)計(jì)算、仿真調(diào)試、上板驗(yàn)證幾乎是一部微型FPGA開(kāi)發(fā)流程的縮影。2. 核心原理數(shù)字世界里怎么描述一個(gè)音符2.1 十二平均律與音符頻率表要生成音樂(lè)得先回答一個(gè)基本問(wèn)題一個(gè)音符在物理上到底是什么答案是振動(dòng)頻率。國(guó)際標(biāo)準(zhǔn)把A4定為440Hz也就是鋼琴上小字一組的la每秒振動(dòng)440次。其他所有音符的頻率都不是拍腦袋定的而是按照十二平均律算出來(lái)的每相鄰兩個(gè)半音之間的頻率比是常數(shù)等于2的十二次方根。[ f(n) 440 \times 2^{\frac{n-69}{12}} ]這里n是MIDI標(biāo)準(zhǔn)里的音符編號(hào)A4對(duì)應(yīng)69。剛才這個(gè)公式說(shuō)的是從A4往上數(shù)n-69個(gè)半音每上升一個(gè)半音頻率乘一次1.059463。拿C4來(lái)算C4比A4低9個(gè)半音所以C4頻率約等于440除以1.059463的9次方算出來(lái)就是261.63Hz。這個(gè)公式可以一直往上套也一直往下套所以整個(gè)十二平均律體系是自洽的任何一個(gè)音高都能用唯一一個(gè)頻率來(lái)描述。我在做查表之前習(xí)慣把要用的音符頻率先算好列成一張表再根據(jù)系統(tǒng)時(shí)鐘算出分頻參數(shù)。下面這張表是C大調(diào)一個(gè)八度里最常見(jiàn)的8個(gè)音以及50MHz系統(tǒng)時(shí)鐘下對(duì)應(yīng)的分頻計(jì)數(shù)參數(shù)后面寫(xiě)代碼會(huì)直接用。音符頻率(Hz)50MHz下分頻半周期計(jì)數(shù)值四舍五入休止符00輸出直接置低C4261.6395553D4293.6685129E4329.6375833F4349.2371581G4392.0063776A4440.0056818B4493.8850619C5523.2547776這張表看著簡(jiǎn)單但其中兩個(gè)細(xì)節(jié)值得說(shuō)清楚。第一分頻計(jì)數(shù)值用的是半周期因?yàn)槲覀兿胼敵龇讲ㄒ葦?shù)半個(gè)周期的時(shí)鐘數(shù)翻轉(zhuǎn)一次電平再數(shù)半個(gè)周期再翻轉(zhuǎn)回來(lái)這樣一個(gè)完整周期才是目標(biāo)頻率。第二四舍五入很重要取整誤差經(jīng)過(guò)人耳放大后一般聽(tīng)不出來(lái)但如果你直接截?cái)嗳≌`差方向是固定的個(gè)別音符的偏差會(huì)比四舍五入明顯。為了這一點(diǎn)差別不值得老老實(shí)實(shí)四舍五入。2.2 三種產(chǎn)生音調(diào)的方法我為什么選了查表分頻確定了目標(biāo)頻率之后下一步就是怎么用數(shù)字電路產(chǎn)生這個(gè)頻率。我自己嘗試過(guò)三種方案這里把它們的思路和取舍都講一下。方案一純分頻計(jì)數(shù)器。最直觀的做法是給每個(gè)音符單獨(dú)寫(xiě)一個(gè)計(jì)數(shù)器各自數(shù)到對(duì)應(yīng)的半周期計(jì)數(shù)值然后翻轉(zhuǎn)輸出。好處是邏輯清晰初學(xué)者一眼就能看懂壞處是代碼冗余8個(gè)音符就得寫(xiě)8個(gè)幾乎一樣的計(jì)數(shù)器模塊如果要擴(kuò)展到多個(gè)八度代碼會(huì)膨脹得非常難受。方案二查表動(dòng)態(tài)裝載分頻器。這是我在最終版里采用的方案。分頻器模塊只有一個(gè)它的計(jì)數(shù)上限不是寫(xiě)死的而是來(lái)自一個(gè)外部的輸入信號(hào)。系統(tǒng)切換音符時(shí)只需要把查表得到的新計(jì)數(shù)值送給分頻器分頻器就會(huì)自動(dòng)按新頻率工作。這樣音符越多只需要擴(kuò)展查表不需要新增硬件邏輯。這個(gè)方案的缺點(diǎn)是需要想清楚切換邊界如果計(jì)數(shù)到一半突然改計(jì)數(shù)值當(dāng)前這個(gè)周期不算完整但對(duì)應(yīng)到聽(tīng)覺(jué)上這一瞬間的過(guò)渡對(duì)人耳來(lái)說(shuō)是無(wú)法感知的所以實(shí)際用起來(lái)完全沒(méi)問(wèn)題。方案三DDS直接數(shù)字頻率合成。DDS的思路和前面兩種完全不同它用一個(gè)累加器來(lái)做相位累加輸出查找表里的波形幅度值。核心公式是相位增量 (目標(biāo)頻率 × 2^N) / 系統(tǒng)時(shí)鐘。以32位累加器、50MHz時(shí)鐘為例A4對(duì)應(yīng)的相位增量約等于37796。DDS的優(yōu)勢(shì)是可以無(wú)縫切換頻率可以做滑音、掃頻、多聲道疊加改頻率只需要改一個(gè)增量值。但代價(jià)是邏輯復(fù)雜還要配波形ROM對(duì)只想播放一首固定曲子的入門項(xiàng)目來(lái)說(shuō)屬于重量級(jí)武器。我個(gè)人的建議是第一次做這個(gè)項(xiàng)目老老實(shí)實(shí)用方案二把響→準(zhǔn)→唱完整曲這條鏈路跑通等你理解了底層邏輯再回到DDS感受會(huì)完全不一樣。2.3 音頻輸出路蜂鳴器、喇叭還是功放信號(hào)生成出來(lái)了最后還得讓它出聲。這一環(huán)節(jié)的教訓(xùn)特別多我自己在這里栽過(guò)跟頭新手尤其要注意。有源蜂鳴器 vs 無(wú)源蜂鳴器這是第一個(gè)必須搞清楚的坑。有源蜂鳴器內(nèi)部自帶振蕩電路通電就響而且頻率固定你給它外部方波信號(hào)它也不會(huì)變調(diào)它只響應(yīng)通還是斷。這種蜂鳴器只能做報(bào)警器做不了音樂(lè)演奏。無(wú)源蜂鳴器沒(méi)有內(nèi)部振蕩源你給它什么頻率的方波它就發(fā)出什么頻率的聲音這才是我們要的。區(qū)分方法很簡(jiǎn)單看引腳旁邊的絲印或者拿萬(wàn)用表測(cè)電阻無(wú)源的通常電阻都偏小。買之前直接問(wèn)清楚無(wú)源電磁式蜂鳴器不然快遞到了你會(huì)收獲一個(gè)只能嗶——的喇叭。驅(qū)動(dòng)方式也要注意。FPGA引腳的驅(qū)動(dòng)能力有限直接驅(qū)動(dòng)蜂鳴器經(jīng)常出現(xiàn)聲音發(fā)悶、響度不夠的問(wèn)題。我試過(guò)用NPN三極管S8050這類做開(kāi)關(guān)放大效果立竿見(jiàn)影。三極管基極接FPGA引腳通過(guò)一個(gè)1kΩ電阻限流集電極接蜂鳴器負(fù)極發(fā)射極接地蜂鳴器正極接電源。FPGA輸出高電平時(shí)三極管導(dǎo)通蜂鳴器通電發(fā)聲輸出低電平時(shí)斷開(kāi)。如果你用的是帶功放的開(kāi)發(fā)板板載喇叭或者音頻接口那更省事FPGA直接輸出方波到功放輸入就行。外部喇叭功放情況也常見(jiàn)比如手頭只有普通8Ω小喇叭就需要LM386或者PAM8403這類功放模塊。方波信號(hào)通過(guò)功放放大后驅(qū)動(dòng)喇叭音量比蜂鳴器大得多適合在教室里演示。如果想追求更好的音質(zhì)可以用PWM輸出加RC低通濾波把方波變成近似正弦波但這是后話了第一版不用追求到這個(gè)程度。3. 實(shí)操實(shí)現(xiàn)從模塊到一首完整的曲子3.1 頂層架構(gòu)與管腳規(guī)劃老規(guī)矩設(shè)計(jì)之前先畫(huà)頂層框圖。我的劃分是四個(gè)模塊按鍵消抖模塊、曲譜播放狀態(tài)機(jī)、音符查表分頻器、音頻輸出驅(qū)動(dòng)。每個(gè)模塊各司其職互相之間只通過(guò)清晰的總線信號(hào)連接。clk_50MHz ──→ 按鍵消抖 ──→ 播放狀態(tài)機(jī) ──→ 音符查表 ──→ 分頻器 ──→ 蜂鳴器 rst_n ──→ 模式切換 按鍵[3:0] ──→ 手動(dòng)演奏輸入管腳規(guī)劃這一環(huán)看似瑣碎但特別容易出錯(cuò)。開(kāi)發(fā)板上的物理引腳五花八門蜂鳴器可能連在某個(gè)特定引腳上按鍵分布在另一組引腳。務(wù)必先在原理圖或者板卡手冊(cè)里找到蜂鳴器、按鍵對(duì)應(yīng)的FPGA引腳編號(hào)再寫(xiě)約束文件。我之前見(jiàn)過(guò)有同學(xué)憑感覺(jué)寫(xiě)引腳號(hào)結(jié)果綜合下載后沒(méi)反應(yīng)查了半天才發(fā)現(xiàn)引腳約束根本不對(duì)。另外如果蜂鳴器是負(fù)邏輯驅(qū)動(dòng)低電平響還要在代碼里多取一次反這個(gè)細(xì)節(jié)在約束文件旁邊順手記一筆免得忘了。3.2 音符查表與分頻器實(shí)現(xiàn)這里把最終版的Verilog貼出來(lái)代碼不復(fù)雜但包含幾個(gè)容易踩坑的點(diǎn)我會(huì)逐個(gè)說(shuō)明。首先是音符查表模塊。它就是一個(gè)純組合邏輯case輸入音符索引輸出對(duì)應(yīng)的半周期計(jì)數(shù)值module note_lut ( input wire [4:0] note_idx, // 0休止, 1C4, 2D4 ... 8C5 output reg [16:0] half_period ); always (*) begin case (note_idx) 5d0: half_period 17d0; // 休止 5d1: half_period 17d95553; // C4 261.63Hz 5d2: half_period 17d85129; // D4 293.66Hz 5d3: half_period 17d75833; // E4 329.63Hz 5d4: half_period 17d71581; // F4 349.23Hz 5d5: half_period 17d63776; // G4 392.00Hz 5d6: half_period 17d56818; // A4 440.00Hz 5d7: half_period 17d50619; // B4 493.88Hz 5d8: half_period 17d47776; // C5 523.25Hz default: half_period 17d0; // 未定義音高默認(rèn)休止 endcase end endmodule然后是分頻器模塊。它接收查表過(guò)來(lái)的半周期計(jì)數(shù)值輸出方波module tone_gen ( input wire clk, input wire rst_n, input wire [16:0] half_period, // 0 表示休止 output reg tone ); reg [16:0] cnt; always (posedge clk or negedge rst_n) begin if (!rst_n) begin cnt 17d0; tone 1b0; end else if (half_period 17d0) begin cnt 17d0; tone 1b0; // 休止符輸出低電平 end else if (cnt half_period - 1) begin cnt 17d0; tone ~tone; // 到半周期翻轉(zhuǎn)一次 end else begin cnt cnt 1b1; end end endmodule這個(gè)模塊有兩個(gè)細(xì)節(jié)值得注意。第一counter的位寬選17位是因?yàn)樽畲笥?jì)數(shù)值95553對(duì)應(yīng)的二進(jìn)制需要17位如果位寬不夠綜合工具不會(huì)報(bào)錯(cuò)但計(jì)數(shù)器會(huì)提前回繞輸出的頻率就完全錯(cuò)了。保險(xiǎn)的做法是用系統(tǒng)函數(shù)$clog2計(jì)算localparam WIDTH $clog2(MAX_CNT 1);一勞永逸。第二休止符的處理是獨(dú)立的因?yàn)闊o(wú)聲和堵住嘴的方波是兩回事把tone固定拉低才是真正的休止。3.3 節(jié)拍控制與曲譜狀態(tài)機(jī)有了音高下一步是節(jié)奏。我一直覺(jué)得能響不算成功能按節(jié)拍把一首曲子彈完才算。節(jié)拍的本質(zhì)就是每個(gè)音符響多久這同樣需要一個(gè)計(jì)數(shù)器。以120BPM每分鐘120拍為例一拍持續(xù)0.5秒在50MHz時(shí)鐘下就是25000000個(gè)周期。我定義一個(gè)beat_cnt計(jì)數(shù)器每數(shù)到2500萬(wàn)就認(rèn)為過(guò)去了1拍。曲譜里每個(gè)音符的時(shí)長(zhǎng)用拍數(shù)表示比如四分音符是1拍八分音符是半拍二分音符是2拍。曲譜怎么存我用的方法是把一首曲子切成一個(gè)個(gè)步驟每個(gè)步驟包含音符索引和持續(xù)拍數(shù)用一個(gè)case語(yǔ)句描述播放狀態(tài)機(jī)逐條讀取。以《小星星》第一句為例簡(jiǎn)譜是 1 1 5 5 6 6 5后面接休止對(duì)應(yīng)的狀態(tài)機(jī)片段如下localparam NOTE_C4 5d1; localparam NOTE_G4 5d5; localparam NOTE_A4 5d6; localparam REST 5d0; // 每個(gè) step 用 {duration(拍數(shù)), note_idx} 表示 // 以 4 拍為一小節(jié)這里只示意第一句 always (posedge clk or negedge rst_n) begin if (!rst_n) begin step_idx 0; beat_cnt 0; note_idx REST; state IDLE; end else begin case (state) IDLE: begin if (start_flag) begin state PLAY; step_idx 0; beat_cnt 0; end end PLAY: begin // 讀取當(dāng)前step的音符 step_note_sel(step_idx); // 設(shè)置 note_idx if (beat_cnt BEAT_CNT_MAX - 1) begin beat_cnt 0; // 當(dāng)前拍結(jié)束進(jìn)入下一個(gè)step if (step_idx LAST_STEP) begin state DONE; // 播完 end else begin step_idx step_idx 1b1; end end else begin beat_cnt beat_cnt 1b1; end end // ... DONE 狀態(tài)回到 IDLE endcase end end這里我把半拍的處理方式說(shuō)一下。如果曲子里有八分音符簡(jiǎn)單起見(jiàn)可以全部用最小節(jié)拍單位比如半拍作基準(zhǔn)四分音符記作2八分音符記作1二分音符記作4。這樣整個(gè)曲譜狀態(tài)機(jī)只需要一個(gè)統(tǒng)一的拍號(hào)邏輯不用為半拍能不能整除操心。3.4 按鍵消抖與手動(dòng)演奏模式自動(dòng)播放只是聽(tīng)手動(dòng)演奏才是玩。這需要把按鍵接進(jìn)來(lái)每個(gè)按鍵代表一個(gè)音符按下就發(fā)對(duì)應(yīng)的頻率松開(kāi)就回到休止。機(jī)械按鍵有個(gè)典型毛病按下和松開(kāi)的瞬間觸點(diǎn)會(huì)彈跳持續(xù)5~20ms期間電平忽高忽低。如果不做消抖你按一次按鍵FPGA可能看到的是七八個(gè)一次按壓演奏出來(lái)的就是一團(tuán)亂音。消抖的原理也不復(fù)雜連續(xù)采樣按鍵電平只有當(dāng)電平穩(wěn)定持續(xù)一段時(shí)間我習(xí)慣用20ms才認(rèn)為按鍵狀態(tài)真正變化了。在50MHz下20ms是100萬(wàn)個(gè)時(shí)鐘周期需要一個(gè)20位的計(jì)數(shù)器module key_debounce #( parameter CNT_MAX 1_000_000 // 20ms 50MHz )( input wire clk, input wire key_in, output wire key_pressed_pulse // 按下瞬間的單脈沖 ); reg [19:0] cnt; reg key_stable, key_prev; always (posedge clk) begin if (key_in ! key_stable) begin // 輸入與穩(wěn)定值不一致開(kāi)始計(jì)數(shù) if (cnt CNT_MAX) begin cnt 20d0; key_stable key_in; end else begin cnt cnt 1b1; end end else begin cnt 20d0; end end // 邊沿檢測(cè)輸出一個(gè)時(shí)鐘周期的脈沖 always (posedge clk) begin key_prev key_stable; end assign key_pressed_pulse key_stable ~key_prev; endmodule另一個(gè)細(xì)節(jié)是手動(dòng)演奏模式和自動(dòng)播放模式需要互斥。我的做法是一個(gè)模式選擇鍵每按一次在兩種模式之間切換。切到手動(dòng)模式時(shí)自動(dòng)播放狀態(tài)機(jī)進(jìn)入IDLE播放用音符全部置為休止避免兩個(gè)信號(hào)同時(shí)在驅(qū)動(dòng)蜂鳴器。同一條信號(hào)線被兩個(gè)模塊同時(shí)賦值在FPGA里是致命的Multiple Driver錯(cuò)誤這個(gè)后面排查章節(jié)還會(huì)說(shuō)。3.5 上板調(diào)試流程最后說(shuō)說(shuō)從寫(xiě)完代碼到聽(tīng)到聲音的調(diào)試順序。我的習(xí)慣是嚴(yán)格按下面四步走每步都驗(yàn)證通過(guò)再進(jìn)下一步避免問(wèn)題疊加后無(wú)從排查。第一步仿真驗(yàn)證。不用寫(xiě)太復(fù)雜的testbench就測(cè)一件最重要的事給一個(gè)音符索引比如C4看仿真波形里tone信號(hào)的周期是不是約等于1/261.63秒也就是3.82ms。這一步能排除大部分邏輯錯(cuò)誤。第二步單音驗(yàn)證。把代碼燒進(jìn)板子讓蜂鳴器持續(xù)播放一個(gè)固定的音符比如A4。用耳朵聽(tīng)對(duì)比標(biāo)準(zhǔn)音叉或手機(jī)調(diào)音軟件確認(rèn)音高基本準(zhǔn)確。如果有示波器或者邏輯分析儀直接量FPGA引腳出的頻率更靠譜。第三步播放全曲。把狀態(tài)機(jī)換成完整的曲譜聽(tīng)整首曲子的節(jié)奏是否自然、音符切換是否有突兀的雜音。第四步加入按鍵模式和模式切換。到這一步再處理的才是交互層面的問(wèn)題比如消抖時(shí)長(zhǎng)是否需要調(diào)整、多個(gè)按鍵同時(shí)按下的優(yōu)先級(jí)怎么定。我自己強(qiáng)烈建議不要跳步。很多同學(xué)急性子一上來(lái)就整曲播放加按鍵模式一起上結(jié)果上板后又是無(wú)聲又是亂音根本分不清是分頻的錯(cuò)還是節(jié)拍的錯(cuò)。踏實(shí)走完四步反而最快。4. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄這個(gè)項(xiàng)目我做了不止一遍也幫同學(xué)排查過(guò)無(wú)數(shù)回下面這幾個(gè)問(wèn)題出現(xiàn)的頻率最高我按癥狀—原因—解法的格式整理成速查表。癥狀大概率原因排查手法上電完全無(wú)聲用了有源蜂鳴器只響應(yīng)通斷換無(wú)源蜂鳴器或先單獨(dú)給不同頻率方波測(cè)試上電完全無(wú)聲引腳約束錯(cuò)誤信號(hào)沒(méi)送到蜂鳴器腳看原理圖核對(duì)約束用ILA或邏輯分析儀抓引腳上電完全無(wú)聲使能信號(hào)沒(méi)拉高播放狀態(tài)機(jī)停在IDLE加一個(gè)調(diào)試LED輸出觀察狀態(tài)是否流轉(zhuǎn)有聲音但音高偏低系統(tǒng)時(shí)鐘實(shí)際不是50MHz查板卡手冊(cè)確認(rèn)時(shí)鐘頻率重新計(jì)算分頻參數(shù)有聲音但音偏高計(jì)數(shù)器位寬不夠提前回繞檢查counter聲明位寬用$clog2計(jì)算按一次按鍵出好幾個(gè)音消抖時(shí)間太短或沒(méi)做消抖把消抖計(jì)數(shù)器加大到20ms確認(rèn)輸出是單脈沖自動(dòng)播放和手動(dòng)模式互相干擾兩個(gè)模塊同時(shí)驅(qū)動(dòng)蜂鳴器信號(hào)用模式信號(hào)與門隔離確保任一時(shí)刻只有一路有效綜合報(bào)Multiple Driver同一個(gè)reg在多個(gè)always塊里賦值重構(gòu)代碼把邏輯合并到一個(gè)always塊或拆成獨(dú)立信號(hào)4.1 上電無(wú)聲先分清三類原因無(wú)聲是新手遇到最多的攔路虎但好消息是它的原因就三大類硬件選型、管腳連接、邏輯使能。硬件選型在有源/無(wú)源蜂鳴器這一關(guān)就能卡住一批人我前面已經(jīng)強(qiáng)調(diào)過(guò)了。管腳連接排錯(cuò)的思路是信號(hào)到底有沒(méi)有到引腳用開(kāi)發(fā)板自帶的LED做驗(yàn)證很有效——把驅(qū)動(dòng)蜂鳴器的信號(hào)同時(shí)接一個(gè)LED如果LED有規(guī)律閃爍而蜂鳴器不響說(shuō)明信號(hào)到了引腳問(wèn)題在蜂鳴器驅(qū)動(dòng)電路如果LED也不閃那就是邏輯層面根本沒(méi)輸出回頭查狀態(tài)機(jī)和使能信號(hào)。4.2 音準(zhǔn)不對(duì)幾乎都是分頻比的問(wèn)題音準(zhǔn)不對(duì)十有八九是分頻參數(shù)和實(shí)際系統(tǒng)時(shí)鐘不匹配。最常見(jiàn)的情況是初學(xué)者以為所有開(kāi)發(fā)板都是50MHz結(jié)果板子是25MHz或100MHz一上來(lái)頻率就差一倍整個(gè)曲子聽(tīng)起來(lái)像開(kāi)了倍速或慢放。還有的情況是計(jì)數(shù)器比較條件寫(xiě)錯(cuò)cnt half_period - 1和cnt half_period - 1區(qū)別在于前者永遠(yuǎn)不會(huì)漏掉最大值后者如果half_period變化而cnt還沒(méi)來(lái)得及歸零可能永遠(yuǎn)等不到相等那一刻。我用的是穩(wěn)妥。4.3 按鈕失控與亂音消抖和狀態(tài)機(jī)邊界按鍵問(wèn)題大多不是消抖不夠而是沒(méi)有輸出單脈沖。很多人寫(xiě)完消抖模塊直接把穩(wěn)定的電平信號(hào)接到播放邏輯上結(jié)果按下期間狀態(tài)機(jī)一直在觸發(fā)自然就亂了。記得在消抖模塊后面加一個(gè)上升沿檢測(cè)輸出一個(gè)時(shí)鐘周期的脈沖。另外手動(dòng)演奏模式下如果有多個(gè)按鍵同時(shí)按下我的處理是給按鍵編號(hào)設(shè)定優(yōu)先級(jí)比如低編號(hào)的優(yōu)先這樣至少在邏輯上可預(yù)期不至于兩個(gè)音符信號(hào)的邊沿打架。狀態(tài)機(jī)的邊界條件也要檢查播完最后一拍能不能正確回到IDLERESET按下時(shí)能不能從任意狀態(tài)回到初始這些邊界問(wèn)題在仿真里不一定會(huì)暴露上板后卻會(huì)變成偶爾卡死的玄學(xué)問(wèn)題。4.4 綜合時(shí)序報(bào)錯(cuò)的排查最后一個(gè)常見(jiàn)問(wèn)題是綜合和實(shí)現(xiàn)階段的報(bào)錯(cuò)。Multiple Driver是我見(jiàn)過(guò)最多的錯(cuò)誤它的含義是一個(gè)信號(hào)wire或reg被多個(gè)always塊或者assign語(yǔ)句賦值。FPGA里每個(gè)信號(hào)只能有一個(gè)驅(qū)動(dòng)源如果你在播放狀態(tài)機(jī)里給note_idx賦值又在手動(dòng)模式邏輯里給note_idx賦值綜合工具就會(huì)報(bào)錯(cuò)。解法是把這兩段邏輯合并到一個(gè)always塊用模式信號(hào)做分支或者把信號(hào)拆成兩個(gè)內(nèi)部信號(hào)最后用一個(gè)三目選擇器合并。另一個(gè)高頻問(wèn)題是計(jì)數(shù)器位寬不夠綜合工具不會(huì)報(bào)錯(cuò)但行為就是不對(duì)所以我一再?gòu)?qiáng)調(diào)用$clog2算位寬別靠目測(cè)。5. 擴(kuò)展方向與幾點(diǎn)個(gè)人心得5.1 從單聲部到多聲部DDS帶來(lái)的升級(jí)空間做完上面這些你已經(jīng)擁有一個(gè)能自動(dòng)播放、能按鍵演奏的單音音樂(lè)電路了。如果還想往前走我建議的下一站是把單音升級(jí)成多聲部和弦。這時(shí)候前面提到的DDS方案就派上用場(chǎng)了一個(gè)NCO產(chǎn)生一個(gè)聲部?jī)蓚€(gè)NCO同時(shí)工作各自產(chǎn)生對(duì)應(yīng)音高的方波/正弦波然后在輸出端做加法就得到了雙音效果。配合相位累加器改一個(gè)增量值就能無(wú)縫切換頻率的特性你還可以做滑音、顫音這些音樂(lè)效果。具體來(lái)說(shuō)32位DDS累加器、50MHz時(shí)鐘下生成一個(gè)440Hz的A4信號(hào)相位增量是(440 × 2^32) / 50000000 ≈ 37796。想生成兩個(gè)聲部就做兩個(gè)相位累加器增量分別按各自音高算好輸出相加后經(jīng)過(guò)脈沖密度調(diào)制或者PWM送給功放。當(dāng)然輸出加法要注意幅度兩個(gè)信號(hào)相加可能溢出需要做截位或者縮放。這一步做通之后再去研究用ROM存波形、做包絡(luò)控制就是一條清晰的學(xué)習(xí)路徑。5.2 我踩過(guò)的坑與最終建議最后說(shuō)幾句掏心窩子的話。這個(gè)項(xiàng)目我前前后后做過(guò)三次每次都有新收獲也每次都會(huì)踩不同的坑。第一次栽在有源蜂鳴器上買回來(lái)怎么調(diào)都不變調(diào)最后才意識(shí)到硬件選型就錯(cuò)了。第二次在引腳約束上栽了跟頭信號(hào)邏輯沒(méi)問(wèn)題但物理上沒(méi)送到蜂鳴器白查了好幾天代碼。最讓我印象深刻的還是先仿真后上板這條鐵律——仿真里波形對(duì)了上板才敢保證大概率對(duì)仿真里稀里糊涂上板面對(duì)的就只能是玄學(xué)。如果讓我給正在做或者準(zhǔn)備做這個(gè)項(xiàng)目的人一條最核心的建議那就是第一版一定用最簡(jiǎn)單的結(jié)構(gòu)查表分頻也好單音播放也好把鏈路完整跑通。先讓它響再讓它準(zhǔn)最后再談讓它好聽(tīng)。任何一步跨過(guò)去都會(huì)在后面的環(huán)節(jié)花幾倍的時(shí)間來(lái)還債。這個(gè)項(xiàng)目的可擴(kuò)展空間其實(shí)比想象中大得多。曲譜存在ROM里之后換歌只是改數(shù)據(jù)文件的事按鍵加多了就是一臺(tái)小型電子琴再多研究一步I2S協(xié)議和DAC就能輸出真正的立體聲音樂(lè)。從一個(gè)蜂鳴器到一套完整的數(shù)字音頻系統(tǒng)中間缺的每一塊知識(shí)都會(huì)在下一步擴(kuò)展中逼著你補(bǔ)上。而這恰恰是FPGA學(xué)習(xí)最迷人的地方。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚欧视频在线| 亚州精品丝袜-不卡成人免费| 欧美美女在线高潮999| 久久网亚洲| 国产多人在线观看视频| 大香网伊人久久综合网eew| 麻豆视频一区二区| 亚洲有薄码区日本系列中文字幕| 久99在线免费观看视频| 婷婷激情四射| 久久久久白虎| 天天爽天天爽| 色臀av| 先锋精品av色鲁| 久久精品日韩专区免费观看| 每日更新AV| 懂色av中文字幕一区二区三区天美| 噜噜噜在线视频| 日本精品性生活久久久| 一区二区三区在线资源| 国产精品激情久久久久久久| 日韩大香蕉精品在线视频| 色就色综合| 蜜臀AV成人精品蜜臀| 乱伦日本中文自拍| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 人人爽人人精品乱人伦AV| 男女啪啪啪18禁网站| 亚洲国产欧美日韩人妻日中文| 91女日逼| 干b在线性社区| 人人操人人搞人人草| 亚洲综合一| 国产中文字幕曰本毛片| 男同专区一区二区三区在线| 唯美清纯 妖精视频| 五月婷丁香| 99999精品| 中文字幕av久久爽Av| 精品国产一区二区三区四区在线看| 美女啪欧美一区| 美女写真| 91香蕉国产尤物视频| 日本999精品视频| 小视频国产| 91性| 色蜜AV| 亚洲av国产av综合av卡| 麻豆一区二区三区在线看 | 国产高清自拍视频| 欧美天天在线| 亚洲色悠悠久久88| caorenqi shipin| 免费家庭乱伦视频| 日本不卡二区| 中文字幕午夜精品久久久| 99热99色| 中日亚韩免费视频| 久久久亚洲| 97这里只精品| 中文字幕黑人大片| 激情抓乳插进去啪啪啪日韩| 大香久久| 中文字幕乱妇免费视频| 裸体美女久久久| 久久女人一区二区三区| 操逼操逼逼操操逼91| 东北女人高潮视频| 99热99re6国产在线播放| 99热这里是精品| 成人a v在线播放免费| 91宗合网| 狠狠色五月亚洲91| 日欧毛片久久| 麻豆性爱视频在线播放| 中文字幕国产精品1区| 日韩中文字幕人妻视频| 人妻少妇久久久| 香蕉久久AⅤ...| 94色色电影网| 中出人妻中文字幕91在线| 青青草自拍视频在线播放| 日韩一区二区三区四区五区| 国产精品直播在线观看直播| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 大香蕉淫人网| 亚洲另类色综合网站| 男人久久精品| 91精品人妻一区二区三区蜜桃臀| 亚洲天堂久久| 1024人妻| 婷婷五月天基地| 国产福利精品最新在线| 国产无马视频| 另类小说综合网| 成人免费毛片| PMv在线观看| 99久草| 亚洲不卡一| 9久精品视频在线观看| 亚洲巨爆乳一区二区三区四季网| 亚洲色图欧美色18直播在线| 91老司机精品| 综合亚洲欧美精品日韩?v| 玖草在线视频| 97香蕉网| 亚洲 小说 欧美 激情 另类| 欧美天天干| av绯色| 亚洲精品一二区| 日韩三A大片在线观看| 日韩簧片免费看| 天天做天天爱夜夜爽毛片试看| 国产内射爽爽大片| 五月丁香六月综合缴清无码| 精品久久久av无码免费| 一区二区精品日韩欧美在线观看| 中文字幕日韩专区精品系列| 欧美日韩啪啪电影| 国产日韩精品人妻久久久久色欲网站| 精品成人动漫一区二区| 婷婷性爱| 色97| 91n.欧美| 天天夜躁日日躁狠狠2002| 国产隔壁老王影院在线| 最新国产亚洲精品精品国产亚洲综合| 久99久视频| 人妻久久久久久| 99免费视频| 亚洲有薄码区日本系列中文字幕| 五月天伊人| 9 7超碰在线免费观看| 一区| 亚洲av资源| 国产97av| AV在线性爱| www.av在线观看| 国产黄a三级三级三级av在线看| 亚洲欧洲小说图片视频| 欧美 熟女 日韩| 亚洲极品| 91精品久久久| 国模少妇一区二区三区| 中亚av| 天天爽夜夜欢视| 欧亚揄拍偷拍精品视频| 蜜臀在线视频| 狠狠干婷婷| 这里是精品| 青青草日韩免费观看高清在线| 人妻 欧美亚洲| 国产白丝精品在线观看| 国产黄色 A 片免费看| 99综合网| 欧美日韩人妻婷婷一区| 上特色A在线| 国产啊v在线免费播放| 婷婷伊人网| 宗合情欲网| 高清孕妇孕交 交孕妇| 欧美97爱| 超碰久热| 欧日韩在线观看| 亚洲成人ab| 亚洲中文日韩欧美大香蕉视频| 偷拍 精品另类 凸凹了四区| 校园春色AV天堂| 1人人看人人摸人人操| 日本日逼视频网| 国产性感骚丝袜在线| 久久久免费视频18| 国产h片在线观看视频| 久久精品人体AV| 日本 情色 1区2区3区| 东北女人操逼| 国产福利精品最新在线 | av国产无码| 日韩少妇无吗| 一级二级三级黑人无码| 久九九九九九九热| 东京热男人天堂| 国产精品视频白浆免费| 啊啊啊快操我视频| 亚洲国产精品成人综合| 九九天堂| 呦呦影院| 色av中文字幕| 综合久久久久久久久91| 打av高清| 天天搞在线综合网| 男人精品天堂一区| 人人爱人人操人人性| 91夜夜蜜桃臀1区2区3区| 亚洲欧美综合图片| www超碰| 中文字幕二区| 岛园激情| 欧日韩一二三f区| 3p国产色噜噜一区| 久久久草草精品| 亚洲精品无码久久AV| 美腿丝袜高跟网免费视频免费视频| 国产传媒av天美传媒在线| 色99视频| 亚洲精品国产精品成人| 熟妇精品juliaannAV| 中国一级αV| 91美女中出| 欧美双插| 综合网,亚洲,欧美| 欧美性爱综合,免费| 欧美日本久久精品一区| 操逼天美3区| 歐美性天天| 免费一级黄色录像影片| 国产自产22区| 狠狠色色| 乱性AV| 91精品国久久久久久无码| 牛牛操视频逼| 久久精品91| 97干在线| 一个国产在线综合网站| 天天日美女的B| 日韩无码黄色片| 人妻大香蕉| 操碰91| 久久久久亚洲Av无码专区老牛影视| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 综合色区偷拍| 91成人在线| 国产精品制服丝袜清纯唯美| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 五月婷丁香| 不卡在线观看视频| 天天综合欧美综合| 五月丁香婷婷色| 成年人网站在线免费观看| 999综合色| 亚洲欧美精品一区天堂久久| 免费自拍三级综合| 丰满熟妇大乳做爰| 91日日| 人妻熟女av国产网站| 鸥美中出| 欲色综合| 国产精品一二三| 精品少妇一区二区三区免费观看| 婷婷五月天激情四射| 中文字幕在线免费观看 | 91精品久久久久久久久久| AA级电影三区| 91美女視頻| 色官网在线| 日韩精品午夜操呦呦不卡影院| www.久久| 无码人妻一区二区三区色欲aⅴ| 久超超碰| 韩国黄色片精品久久久| 91亚洲影视| 艹我哪美一区无码| 国产精品蜜臀久久久久无码AV| 蜜桃色院一区久久 | 丁香五月婷婷基地| 久久超碰国产一区二区三区| 国产第11页| 国产女人成人精品视频| 久久久久国产精品久久久| 10000部十八禁看电影| 熟女五十路一区二区三| 久久精品无码专区| 国产成人主播| 色综合九九| 亚洲欧洲激情卡通另类文学四射小说网站 | 园内精品自拍视频在线播放| 男人的天堂2019| 97干天天| 狠狠躁AV| 在线观看综合精品亚洲| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 日本一级不卡一二区| 噜噜噜狠狠色综合| 日本操逼aaaaa| 青青草国产一区二区三区| 99色视频| 懂色av色欲av蜜臀av| 欧美草草高清日韩视频| 久久鲁夜| 天天色香欲综合网| 国模无码一区二区三区在线| 亚欧高清| 99综合| 国产兽交视频在线播放| 国产后入式在线观看| 天色综合网| 99热精品在线播放| 神马久久久久久伦理片| 国产精品国产精品国产| 色天天野狼综合社区| 日本丝袜美腿人妻九九| 精品人妻伦一二三区久久| 蜜乳Av成人片网站| 国产一区二区三区高清视频| 啊啊啊爽爽| 丁香7月婷婷| 久草资源在线视频官方总站日韩丝袜美腿 | 伊人伊人LD| 欧美亚洲综合色| 午夜电影在线观看无码专区| 国产拍偷精品网站| 精品久久97观看在线视频| 亚洲drav色图| 日本淫穴在线| 国产欧美日韩臀| 人妻激情偷乱视频一区二区三区 | 最新av中文字幕高清| 高精欧美色| 伊人久日| 久久超碰天天| 亚洲精品蜜桃久久久久久久| 91av天美性媒精品视频| AV一二区| ,国产乱人伦精品一区二区三区| 午夜一区| 日日碰狠狠添天天爽超| 亚洲欧美日韩综合在线尤物 | 人妻熟女一区二区在线视频| 性生活性生大爱77AV国产| 久日综合网| 欧美精品偷拍| 日韩二三区| 久久亚洲天天做| 激情自拍 校园春色| 欧美黄色大香蕉一区二区| 欧美中文字幕男人天堂久久精品| 日韩免费性爱视频在线观看| 一区二区三区四区免费视频| 加勒比在线观看一区二区| 97久久国产| 美女十八禁| 97超碰人操| 人妻天天爽夜夜爽精品2| 天天爽天天爽| 久久99精品视频| 欧美大香蕉专区网| 国产 日韩 另类 视频一区爱| 一区二区三区探花在线观看| 激情网色| 欧美日韩香蕉| 探花激情视频| 人妻丝袜无 码视频专区| 五月天婷婷基地| 9999免费精彩视频| 久久极品伊人| 久久久久久久少妇| 97看操| 国产日韩精品一区二区三区| 亚州久久9| 尤物视频偷拍免费| 国产青青综合伊人| 欧美九九九| 一区二区三区一亚洲中文字幕、综合区灬 | 伊人影院综合是一个与深夜成人在线 | 美女久久久久久久久久久| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 妺妺跟我一起洗澡没忍住| 国产不卡免费在线视频| 午夜偷拍久久熟女| 国产精品久久久三级无码| 一区二区三区精品视频| 激情丁香五月婷婷| 五月激情综合网| 搡老女人老妇女老妇老熟女怎么读| 美女露胸露屁股| 嫩草 人人网精品| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 久草毛片| 欧美色图亚洲色| TS人妖另类精品视频系列| 久久国产AⅤ| 国产黄色在线播放观看| 日韩少妇一区二区三区| 丁香五月综合| 久草新免费| 色哟哟精品1精品2| 俄罗斯及免费在线看| 中文字幕日韩精品久久| 日本在线视频导航| 日欧美色| 91欧美www| 啊啊啊啊网站| 亚洲第一黄色av网站| 国产一级片| 大香蕉AV丝袜| 欧美黄色图片| 超碰在线综合97| 新91视频.cmp| 18禁无码永久免费无限制| 精品欧美А∨无码黑人大荫蒂| 国产超碰人人操| 久久久久久人妻| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 亚洲最新中文字幕免费| 熟女人妇一区二区三区| 久久久久成人蜜桃精品| 青青草视频导航官网| 欧美在线亚洲| 日韩熟女操逼| 精品一区二区啪啪啪| 中文字幕少妇色| 黑人精品欧美一区二区蜜桃| 亚洲 日本 国产 综合| 成人在线视频网| 久久超碰免费的| 亚洲天堂电影网99999| 欧美性爽xyxOOOO| 91强奸乱轮| 亚洲国产一级中文综合久久天堂在线免费观看| 日韩 成人 有码| 久久久91| 99日精品欧美国产| 少妇色综合| 欧美人与动性人交a| 日韩黄色成人性爱| 性爱AV天堂| 啊啊啊好想要| 69精品少妇一区二区三区蜜桃| 日韩无码AB| 国产捆绑一区| 亚洲综合网电影91| 99少妇| 奇米狠999| 国产人伦精品一区二区三区 | 日本护士高潮| 婷婷九月国产| 强奸乱伦AV网址| 天天影视网综合少妇| 嫩草91| 国产传媒操逼视频| 天天插夜夜爽| 91精品久久久久五月天精品| 嗯嗯嗯啊啊啊操的我好爽| 97chaopengongkai| 亚洲欧美精品福利在线| 精品97久久综合| 国产美女在线精品免费看| 人妻熟女午夜精品在线| 男人天堂网手机版婷婷| 制度丝袜99| 欧美爆操91| 天天看天天日| 69AV女优男人的天堂| 亚欧美综合网| 国产精品电影| 久久这里只精品| 人人妻人人狠人人| 国产自产22区| 欧美国产伊人久久久久| 99re在线精品78| 丰满人妻一区二区三区性色| 亚洲性猛交| 亚洲欧美综合区自拍另类| 男人兔费天堂| 99热在线观看| 成人熟女视频一区二区三区| 久久丁香久草综合网| 欧美亚男人的天堂| 亚洲日本激情| 亚洲凸凹超碰成人| 高潮的A片激情扒开一区| 色诱avtt| 免费在线黄片视频| 欧洲一区二区三区四区在线观看| 岛园激情| 最新制服中文第一页| 天天干天天干天天| 国产精品久久久 | 国产探花日韩援交| 久久伦理视频久久大香蕉视频| 亚洲图片色图欧美另类| 日韩精品作爱导航| av天堂手机版追回| 男人的天堂va在线| 人妻人人澡人人爽人人| 草草网站影院白丝内射| 校园春色中文字幕AV| 日韩人妻制服丝袜av| 亚洲精品不卡一二三区| 久久人人爽人人爽人人片Ⅴ| 屁股久久久久久| 亚洲精品丝袜| 久久国产性爱| 久久精品无码熟妇一区二区三区视频导航 | 亚洲精品精品一区二区| 亚洲伊人青青草| 99热成人| 26uuu国产日韩综合在线观看| 国产风韵犹存熟妇三区| 天天爱天天操| 中国农村熟妇毛片视频| 国产热av| http://qxhbdz.com| 亚洲欧美在线观看无码| 校园春色美腿丝袜| 熟妇人妻一区二区 | 久草国产在线视频| 欧美 亚洲 第一页| 国产精品在线一区二区| 色性综合| 日韩成人精品视频自拍| 九九操久久国产免费视频| 久久久久密| 亚洲 欧美 手机在线观看| 96久久久久| 亚州欧美总和| 美腿色图| 五月丁香啪啪网| 亚洲一区在线观看欧洲| 大香蕉性欧美| 日本淫穴在线| 久久9 9 9精品| 夜夜影视四色| 国产精品一区二区手机看片| 91成人社区| 欧美后进式| 91强热人妻| 91精品无码久久久久久久| 日韩人妻精品| 欧美丝袜激情| 吻戏激情性巴克| 国模艳艳啪啪一区| 日本精品国产视频| 色婷婷久久| 99精品欧美一区二区三区桃色| 97亚洲中文| 操淫穴亚洲五月丁香| 极品五月天噜噜| 精品久久久亚洲AV成人网站| 国产精品福利视频播放| 好吊色综合| 亚洲综合情色| 欧美72网页| 丝袜熟女2P| 99操逼| 夜嗨影院| 在线观看无码三级少妇| 亚洲欧美成人网站AAA| 蜜臀在线网站| 九热超碰| 日韩无码久久熟女一级片| 无码一区二区三区四区五区六区七区八区九区十区视频 | 欧美东京热精品A∨| 天天干天天燥| www.99色| 亚洲电影中字一区二区| JuliaAnn丝袜熟女系列| 日本一卡二区在线| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 精品国产91内射久久| 视频不卡中文字幕| 成人小电影网站tex| 超碰9 7女人 | 女同性恋中文字幕| 国产吹潮女在线观看| 大香蕉琪琪日本女优不卡| 欧洲亚洲人妻无码中字久久三区四区| 婷婷色婷婷| 蜜乳av首页| 国产一区二区欧美日本| 亚洲一区日韩精品| 中文字幕精品一区二| 日韩欧美亚洲自拍偷拍| 黑人免费福利视频| 日韩熟女三十乱伦| 51国产午夜精品视频| 9色国产精品一区粉嫩| 亚洲精品97| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 精品妇女一区二区三区| 亚洲宅男天堂| 色老汉玖玖爱| 少妇被玩视频二三区| 人人污日韩一区二区| 青青草自拍视频在线播放| 久操高青| 青草香蕉网| 91欧美美女日韩国产婷婷| 无码久| 射丝袜大香蕉| 91高清欧美| 婷婷爽人人婷婷爽视频| 操逼操2| 五月天亚洲网| 天欧美在线| 91欧美情色| 人人妻人人色一区二区三区| 日本欧美不卡| 99久久久无码国产精品性啊聊 | 人人妻人人爽 97人人看碰人免费公开视频 | 日本免费人成视频播放120秒| AAAAAAAAA黄片| 成人三级片无码| 婷婷五月天基地| 日韩人妻少妇中文字幕| 乱老熟女一区二区三区| 超碰到97情色| 超碰在线免费一区二区三区| 无码久久国产| 国产91久久九九免费精品无码| 激情五月综合网| 尤物av网站| 欧美九一精品久久久熟妇| 麻豆91熟妇人妻中文字幕茄子| 人妻色偷色噜| 91人妻人人澡人人爽人人精品| 亚洲图片激情综合另类| 91|九色|国产熟女| 色婷婷丁香五月天| 久久久久久久国产| 麻豆尤物视频网| 欧美精品久久96人妻无码| 奇米狠999| 亚洲欧美精品一区天堂久久 | 久九干| 国产精品久久久久999| 97视频播放| 免费看黄片现成| 久久性爱免费送| 精品人妻一区二区三区-国产| 天美传媒Av在线| …亚洲黄色厕厕女女在线播…| 久久透逼视频| 国产玖玖| 中文无线日韩一区| 毛片久久| 四虎影视永久在线观看精品免费网站 | 国产强奸乱伦xd| 久热久| 精品乱码久久久久| 蜜臀va69| 中文人妻av高清一区| 色婷五月天| 欧美色综合图片| 熟女少妇一区二区三区| 亚洲精品国产无码高清| 麻豆久久久一区二区| 伊人aaa| 久久性爱视频免费看| 岛国精品视频在线观看| 亚洲综合97中文网| 91精品国| 日本激情免费大片| 爱欲AV| 99rre在线精品99re8| 日本成人免费一区二区三区| 日韩啪啪啪啪啪| 久草成人影片| 色色色色日本| 青青草精玖玖69精品| 久久丝袜| 99亚洲天堂| 欧美在线干| 色综合久久88色综合久久天天| 熟妇艹鸡八| 久久亚洲一区二区色婷婷| 亚洲AV噜噜狠狠网址蜜桃动漫| 中文乱码99| 在线视频 亚洲精品| 这里只有精品久久| 999色欧美中文字幕| 操逼无码一区| 日欧毛片久久| 色翁荡息又大又硬又粗又爽| 美女大乳久久久久久久女人18| 人人操欧美风骚| 中文字幕一区av| 亚洲 在线| 国产精品久久久久综合| 色偷综合| 国产一区在线免费播放| 东北老熟女| 成视频在线观看免费看| 久超碰这里只有精品| 欧美性生活综合| 精久久久| 成年女人18级毛片毛片免费观看| 日韩干B| 色99视频| 久久男人的天堂| 婷婷三区| 日韩一级性爱无码| 欧洲精品网| 国产精品欧美日韩久久| 99re69综合| 一个国产在线综合网站| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 欧美夜夜| 性爱久久| 亚洲啪啪综合?v一区综合精品区| 日本综合色图| 97精品网| 欧美激情总合网| 99久久久无码国产精品性啊聊| 9+1视频网址| 夜夜爽夜夜操| 激情小说五月天| 无码人妻一区二区三区免费九色| 啊啊啊啊啊啊啊国| 亚洲天堂精品日韩电影| 久热精品色情| 嗯啊抽插大香蕉网页| 综合大香蕉美。| 色色激情五月天| 色色毛片| 欧美熟女丝袜| 日韩精品一区二区三区色欲| 依人大香蕉| 婷婷爽人人婷婷爽视频| 久久久久性熟视频| 亚洲免费成人在线高清无码视频| 欧美色图97| 天天综合网站| 亚洲一区中文精品| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 天天日天天爽| 99精品国产户外露出| 日韩中字av一区| 凹凸久久人人| 色噜噜国产精品视频一区二区| 青青草在线成人视频| 日韩欧美tv一区二区在线观看| 熟女高潮精品一区二区| 97超碰美国| 超97在线精品视频| 欧美成人免费在线观看| 97se综合| 天天淫人人妻日日色| 亚洲一区二区三区播放在线| 97这里有精品| 国产丝袜视频| 国产精品一级片在线看| 九九热九九| 妇女乱色二区| 国精品一区二区三| 中日韩熟女| 亚洲婷婷丁香在线| 人妻喷水| 粉嫩国产精品久久粉嫩| 亚洲精品啪视频| 伊人久久亚洲色欲综合网站| 亚洲精品色| 囯产操逼片| 久久成年片色大黄全免费网站| 热热色国产一二区AV| 操人妻丝袜高跟| 99啪啪视频| 精品国产乱码| 99re99| 97资源站久久| 99精品热| 你操综合| 色情五月丁香| 国产日韩欧美亚洲精品95| 嗯嗯啊啊好爽| 色香网| 亚州综合色图| 久操黄色视频| 2024人人操人人摸| 欧美精品久久96人妻无码| 国产精品一区二区麻豆| 麻豆伊人网| 99re6国产精品99re在线| 欧美日韩第一页| 久久黄色性爱视频| 日韩av无码网站| 久久婷婷成人综合色怡春院| 蜜臀av网址| 人妻无码久久一区二区三区免费| 欧美性爱97超碰| 婷婷丁香六月| 日本韩欧美在线播放a| 免费无码国产精品v片在线观看| 欧美色999| 噜噜噜噜天天狠狠| 无码人妻系列少妇| 射丝袜大香蕉| 97精品视频免费| 美欧老女人97| 亚洲综合码| 人妻久热在线| 农村妇女一级二级三级视频| 少妇高潮对白在线观看| 激情干在线| 欧美成人四级在线播放| 日本色色视频网站| 久久av无码| 亚洲欧美不卡线| 97超碰9| 日韩精品-原创伙伴| 久操免费电影| 国产91美女视频| 啊啊在线| 熟女熟妇一区二区三四区| 中文字幕欧美精品亚洲日韩蜜臀| 色哟哟精品1精品2| 久久99久久99精品天美传媒棢·纸:. | 成人性爱高清视频免费看| 青女在线| 884t在线| 亚洲精品白丝| 天天爽入口| 老女人91| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 日韩99精品视频综合区| 天天日天天干少妇日| 性色综合网| 国产精品电| 天天影视综合色| 竹菊一区二区三区AV线| 欧美综合色综合| 亚洲色婷婷综合久久久久中文| 屁股久久久久久| 欧美片第一页| 欧美精品69性爱| 五十路六十路素人熟女| 成人a大片在线观看| 日本高清_区二区三区| 91天堂色男人的天堂| 99热网站| 精品人妻一区二区三区-国产| 蜜臀久久99精品久久久久免费观| 欧美日韩婷婷中文| jiujiujiujingpin| 男人的天堂com| 亚洲天堂男人| 日本人妻中文字幕| 色久桃花影院在线观看| 婷婷99狠狠| 蜜臀在线免费观看在线免费观看| 久日91在线| 中文字幕激情小说| 97超碰人人模人人拍人人| 日韩簧片免费看| 一级久久久久久久久久久| 国产亚洲中文不卡二区| 婷婷五月av| 岛国小电影| 天天干夜夜肏| 好吊色综合| 亚洲AV无线| 防屏蔽在线视频| 亚洲情色一区三区| 台湾佬中文娱乐网久久久久久久久久com| 午夜爽爽爽| 成人av影院在线观看| 思思热免费视频观看| 欧美激情欧美精品| 欧美日韩青操| 久久精品28| 国产亚洲日韩在线三区黑人| 五月婷婷色色| 国偷自 一区二区| 97超碰欧美中文字幕| 色网站导航大全| 亚洲午夜福利视频| 天天操天天射青青草| 97在线资源| 日本久久女同性恋视频| 十八禁视频网站| 欧美亚洲国产自久久| 91男同| 午夜舔阴达高潮视频免费看| 九九黄色网| 欧美日韩亚洲电影| 亚洲无码日韩电影| 亚洲精品人妻吞精av| 丝袜内射| 丰满人妻一区二区三区四区| 中国操逼无码| 黑操B| 久久亚州大香蕉| 久操网无码在线| 116美女午夜| 密臀国产在线| 国产av波波国产精品| 日韩中文字幕熟妇人妻| 色眯眯av| 放黄片放3级黄片没穿衣服| 久热大香蕉| 天天拍天| ji熟女.com| 亚洲情色五月天 | 91在线丝袜| 大香蕉78| 无码日韩网站| 天天舔天天日天天射| 午夜乱轮操逼视频免费看| 嗯啊不要在线观看嗯啊| 伊蕉97蜜桃97狠狠综合干| 五月天亚洲色图| 夜夜嗨一区二区| 青青草五月份天| 偷窥自拍A片| 熟女AV一区| 欧美91精品国产自产| 99热只有这里有精品| 成人精品视频| 久久东京伊人一本到鬼色| 夜夜高潮夜夜爽高清视频一| 97精品网| 91丝袜美女| 欧美综合色图片| 黄色av一区二区在线| 国产热av| 天天干天天狼在线视频| 欧美色图在线视频少妇| 为用户提供免费看黄网址在线观看| 91精品电影18| 九九九九热| 日韩在线视频1234| 亚洲图片第一页| 91干熟女| 欧美性性性| 五月丁香在线| 久久91| 熟女人妻av在线资源,黄色的资源| 清纯唯美亚洲综合| 日韩人妻资源网| 97爱综合| 婷婷三区| 中文字幕在线观看永久| 九一综合网| 26uuu性| 午夜后入| 日韩性爱1级片视频| 中文一区二区婷婷视频| 日韩熟女精一区二区三区不卡| 91九久| 久久综合九色综合欧洲98| 干b在线性社区| 国产又黄又粗的视频| 久久人妻无码毛片A片麻豆| 亚洲无码超碰免费| 2017大香蕉国产精品久久| 天天做日日做| 欧美97网| 人妻久久久久久久久久久久久久久 | 看免费的黄片| 狠狠干妹子| 精品在线观看视频在线| 亚洲,欧美,综合网| 天天日天天干天天整| 超碰人妻久久| 国产精品 久久久精品一牛| 日韩少妇无吗| 欧美啪啪女女| 无码久久亚洲高清,| 啊啊啊啊嗯嗯嗯用力好爽| 日韩成人无码| 91丝袜激情在线| 天美麻花大全视频| 久久久久99精品成人片蜜臀| 美女的肌被草喷水视频| 蜜乳成人AV| 老女人碰碰在线碰碰视频| 黑人白女精品一区| 97K超碰在线| 伊人91| 九九九精品成人免费视频小说| 欧美中文字幕一区 | 欧美人与动性人交a| 日韩不卡网操逼中文字幕日韩| 亚洲成人综合在线| 最新亚洲黄色免费电影| 色www精品视频在线观看| 天天躁日日躁AAAXX| 人人操人人插 - 百度 - 百度| 青青草久草AV| 91九九九馒头| 一线黄色免费性爱片| www.男人天堂| www.色婷婷| 欧美性爱1080p| 久久久久深夜无码| 天天操女人| 亚洲黄色a级片| 翔田千里AV无码秘 三区| 秋霞鲁丝午夜无码一区二区三| 色狠狠色| 黄色片一区二区三区四区五区| 蜜臀久久久99久久久久 | 国产精品老师| 蜜乳中文字幕a在线| 久久久久熟女| 操死我了嗯嗯嗯| 9 9精品一区二区三区| 国产最火爆久久国产网站网站| 果冻传媒A片麻豆熟妇人妻| 亚洲视频,小说| 日韩精品99999| 国产精品久久久久久久无码AV| 亚洲丨在线| 操老熟女AV| 97人人中文网| 欧美一区二区亚洲天堂| 国产亚洲欧美每日在线| 色姑娘综合网| 9 1超碰九色| 一牛一区二区三区久久| 亚洲操逼无码| 亚洲**2021在线观看| 激情文学小说一区二区| 亚洲91网站| 91亚洲青青草原精品1区| 九九色热| 国产97视频免费观看| 久操凹凸视频| 青娱乐淫乱1314| 性色A∨91| 日本黄色裸日本黄色裸体| 亚洲麻豆精品二区三区| 五月婷婷色色| 亚洲四虎熟女精品| 免费αⅴ在线观看| 热思思免费视频| 国产精品一区二区三区免费视频| 精品无码一区二区人妻久久蜜桃| 67914在线精品观看| 国产精品交换一区二区| 五月天综合在线| HEYZO高无码国产精品227| se吧提供国产乱老熟视频胖女人| 肉动漫无遮挡h在线观看| 亚洲三级。日韩三级| 久热伊人| 欧美综合色| 天天摸天天操视频| 久久9免费视频| 天操天操夜操夜月操月年年操操| 黄色二级片网站| 天天欧美欧美亚洲网| 国产超碰| 睡产熟女乱伦| 国产亚洲精品自在线亚洲情侣| 最新的亚洲无吗| 国产福利av精彩对白| 特级毛片特黄久久免费看 | 色爽爽文学| 日韩97视频!在线| 亚卅熟女乱色| 久久东京国产精品视频| 国产小黄片在线免费观看| 亚洲欧美在线观看2021 | 天天综合网在线| 久久久久久久久久久久黄色 | 狠狠色丁香| 另类小说五月天| 99久久婷婷国产综合| 免费毛片在线播放| 五月丁香六月| 一区二区偷拍拍视频| 麻豆区99999| 91人妻超碰| 久久久艹艹艹| 91丝袜激情在线| 激情四射五月天| 91丝袜在线视频| 97超碰超欧美。| 9997se| 欧美色乱| 日韩激情无码影院| 丁香六月激情| 欧美人妻一区| 青青草日韩无码| 亚洲人妻AV| 加勒比无码一区二区三区| 艾草av| 亚洲精品1区| 九九热re99re6在线精品| 人妻一区二区三区熟女| 99久久99久久免费精品蜜臀| 青青草中文字幕| 日韩人妻有码免费视频| 国产精品国产拍高清AV| 久久婷婷五月| 日韩伦理视频| 亚洲人91| 男人天堂2030| 日韩免费三级黄片电影| 亚州精品丝袜-不卡成人免费| 国产丝袜美女在线一区| 久久久久免费看少妇A片特黄| 极品尤物女神在线观看| 亚洲欧美中文日韩视频中国语| 99国产人成精品| 亚洲欧美精品一区天堂久久 | 日本性爰一道本| 少妇干B| 极品尤物自安慰| 日韩不卡a级视频专区| 丁香六月婷婷久久综合| 欧美78| 人妻少妇精品久久久久久| 人妻一区二区三区四区视频| 极品白嫩美少妇在地板上位骑射淫水泛滥| 久久久久久久伊人精品| 久久XX| 91美女在线视频| 欧美人妻另类在线| 中文字幕后石码四区五区| 国产精品蜜乳AV| 天天干天天日天天射黄色| 丝袜美腿校园春色| 久久久555| 青青免费在线视频一区 | 中文字幕丰满子伦无码专区在线视频最新| 日本成人A片网站| 日韩一区二区三区四区五区| 国模无码一区二区三区在线| 天天色播| 操操逼操操逼操操逼逼| 97超级久久强资源| 热久久无毒不卡| 无码高清操逼| 100啪啪视频大全| 综合色图区| 看黑丝美女操逼青青网站| 操人妻视频| 天天视频综合在线观看视频| 婷婷五月天AV| 裸体美女久久久| 亚洲 无码 偷拍| 日本 欧美 亚中文字幕| 香蕉免费一区二区三区不读| 欧美少妇色图| 26uuu国产成人综合| 韩国一区二区精品亚洲| 91痴汉| 人人看欧美性爱| 热久久精品| 国产一二三在线视频五十路| 男女激情黄色网址| 欧美少妇第一页| 亚拍在线| 99久久精品欧美国产| 国产吞精a级片激情电影| 伊人久久大香蕉线AV五月天| 国产精品不卡高清在线观看| 欧美成人都市人妻| 丝袜色综合| 亚洲?V无码专区在线电影| 中文字幕日韩国产传媒欧美精品| 久久久久久99999国产精品| 浪人综合网| 超碰人妻久久人妻中文97| 一起草视频在线| 久久久婷| 免费视频观看60秒| 乱伦熟女区|