免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(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)好者及高校電子類(lè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í)話(huà)音質(zhì)和早年那種叮咚門(mén)鈴差不多但旁邊不懂硬件的室友聽(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ì)只想播放一首固定曲子的入門(mén)項(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ú)源的通常電阻都偏小。買(mǎi)之前直接問(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這類(lèi)做開(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這類(lèi)功放模塊。方波信號(hào)通過(guò)功放放大后驅(qū)動(dòng)喇叭音量比蜂鳴器大得多適合在教室里演示。如果想追求更好的音質(zhì)可以用PWM輸出加RC低通濾波把方波變成近似正弦波但這是后話(huà)了第一版不用追求到這個(gè)程度。3. 實(shí)操實(shí)現(xiàn)從模塊到一首完整的曲子3.1 頂層架構(gòu)與管腳規(guī)劃老規(guī)矩設(shè)計(jì)之前先畫(huà)頂層框圖。我的劃分是四個(gè)模塊按鍵消抖模塊、曲譜播放狀態(tài)機(jī)、音符查表分頻器、音頻輸出驅(qū)動(dòng)。每個(gè)模塊各司其職互相之間只通過(guò)清晰的總線(xiàn)信號(hào)連接。clk_50MHz ──→ 按鍵消抖 ──→ 播放狀態(tài)機(jī) ──→ 音符查表 ──→ 分頻器 ──→ 蜂鳴器 rst_n ──→ 模式切換 按鍵[3:0] ──→ 手動(dòng)演奏輸入管腳規(guī)劃這一環(huán)看似瑣碎但特別容易出錯(cuò)。開(kāi)發(fā)板上的物理引腳五花八門(mén)蜂鳴器可能連在某個(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)線(xiàn)被兩個(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)與門(mén)隔離確保任一時(shí)刻只有一路有效綜合報(bào)Multiple Driver同一個(gè)reg在多個(gè)always塊里賦值重構(gòu)代碼把邏輯合并到一個(gè)always塊或拆成獨(dú)立信號(hào)4.1 上電無(wú)聲先分清三類(lèi)原因無(wú)聲是新手遇到最多的攔路虎但好消息是它的原因就三大類(lèi)硬件選型、管腳連接、邏輯使能。硬件選型在有源/無(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ō)幾句掏心窩子的話(huà)。這個(gè)項(xiàng)目我前前后后做過(guò)三次每次都有新收獲也每次都會(huì)踩不同的坑。第一次栽在有源蜂鳴器上買(mǎi)回來(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
返回資訊列表
亚洲综合色婷婷| 婷婷色网| 99超级碰碰| 狠狠 久久| 玖玖资源站中文| 久操干| 亚洲日日日| 99爱这里只有精品| 大香蕉中文| 久久香蕉网| 婷婷色网站| 91色在线 | 日韩| 激情小说视频图片| 91视频综合网| AAA亚洲AV| 97久人人| 操操操91| 中文字幕婷婷9月天| 久久六月天| 色婷婷五月天激情| 久久婷丁香五月| 日日躁夜夜躁狠狠久久AV| 五月激情在线| 五月天成人综合| 日本精品。999| 久久亚洲天堂| 9色免费网| 国产真实乱了老女人视频| 久草热在线视频| 日日爱678| 久久免费少妇高潮99精品| 九色婷婷| 久超超碰| www.99热在线| 色五月激情综合| 丁香五月丁香伊人| WWW激情五月天| 婷婷激情五月天天天开心| 丁香香蕉婷婷| 五月天激情网址| 天天干天天av天天射| 天天日综合| 草综合14| 亚洲激情网| 深爱婷婷色| 99视频在线| 丁香九月综合在线| 婷婷五月综合色中文字幕| 丁香五月大香蕉在线99| H亚洲| 综合五月婷婷| 九月丁香| 精品人妻在线免费观看| 超碰色碰碰| 五月大香蕉| 婷婷五月综合激情| 成人日韩欧美| 99免费超碰在线| 五月婷婷无码| 五月丁香六月| 青青久在线视频免费观看| 超碰99在线| 色婷五月| 狠狠色婷婷| 五月天社区| 99视频网址| 久婷五月| 色五月激情五月开心五月| 欧美色99| 日本猛少妇色XXXXX猛叫| 丁香六月在线| 色婷婷在线电影| 黑人巨粗进入警花疼哭A片| 丁香激情网| 99这里只有精品视频| 丁香五月电影| 六月丁花香啪啪激情欧美| 噼里啪啦完整版中文在线观看| 久操热线| 成人做爰高潮A片免费视频| 天天操综合网| 在线中文AV| 日本www免费九九| 色九月综合| 91xxxx九色| 色情丁香五月婷婷精品| 五月丁香六月色情网欧美| 丁香五月天激情五月天激情五月天激情网| 欧美综合激情五月天| 五月婷婷亞洲中文| 九九RE视频在线精品| 日韩成人中文字幕| 综合AV网| 五月天激情影院| 午夜丁香婷婷| 天天天综合网| 少妇被下春药玩弄A片| 婷婷91视频| 婷婷综合伊人| 六月婷婷五月丁香首页| 婷婷五月色| 大香蕉久艹| 激情丁香五月婷婷| 影音 五月 婷婷 久久| 色婷婷性爱| 日本久久天堂| 夜夜撸天天操| 国产精品久久久久久喷浆| 51精品国内探花| 丁香六月婷婷开心| www.99热视频| 五月丁香色停停啪啪啪| 激情五月伊人婷婷| 六月撸婷婷| 丁香五月婷婷在线| 99精品高潮| 五月婷婷六月丁香激情综合网| 天天xxxxxx天天日| 无码99| 亚洲AV电影av| 婷婷丁香五月六月激情| 日日夜夜婷婷| 国产免费av在线| 婷婷激情肏屄网| 狠狠插日日干撸| 五月天色图| 影音先锋秋秋五月婷婷| 九九这里只这里只有精品| 四色五月婷婷在线观看| 日本人妻伦在线中文字幕 | 欧美三日本三级少妇三99| 99热最新| 婷婷午夜精品久久久| 玖玖在线视频| 91超碰人人操| WWW免费视频碰碰碰碰| tingting五月天亚洲| 婷久久| 26uuu成人网| 久热只有这里有精品| 色XX综合网| 国产精产国品一二三在观看| 天天爽爽日日做做| 色屌丝中文字幕| 久久综合网桃花| 五月天激情小说婷婷基地| 久久久WWW| 色吊丝99| 天天操电影院色狼性av| 五月天丁香看婷婷| 久久精品性爱| www一起操| 综合一本道| 99精品偷自拍| 天天爽夜夜爽| 婷婷丁香婷婷97| 日撸夜撸日操| 午夜九九九九九九| 欧美在线视频免费播放| 六月婷婷香蕉| 99色婷婷| 激情丁香淫荡婷婷| AV在线不卡播放| 六月丁香成人| 六月婷婷激情| 这里只有精品久| 亚洲精品久久久无码| 精a品a视a频| 深爱五月激情| 成人小说 五月天 婷婷| 91色综合网站在线| 性综合网| 九九热a| 亚洲激情综合网| 九九色欲网| 色五月婷婷中文字幕| 在线观看av网站| 欧美日韩成人在线观看| 91啪啪| 色色色综合网| 色久五月| 丁香五月www| 激情五月色播五月| 色九区| 开心激情综合| 久久99热精品a片在线观看| 亚洲精品久久久无码| www.久久66| 骚逼视频一区2区| 天天干 夜夜爽| 精品牛仔裤超碰| 九九九热精品| 五月丁香青草综合啪啪| 台湾无码A片一区二区| 五月丁香好婷婷A片网| 色色色婷婷五月天| 久久密臀婷婷| 操人91| 成人精品一区二区三区四区五区| av五月天婷婷丁香| 午夜成人天堂久久无码日韩久久| 五月婷婷就去色| 伊人婷婷99热精品| 一起草av| 色欧洲| 91久久1118| 婷婷中文字幕| 色婷婷色99国产综合精品| 深夜男女福利刺激影院一区完整| 五月Huangsewang| 亚洲人人操BD| 99免费成人网| 亚洲色综久久五月| 狠狠干五月| 成人精品亚洲性爱| 狠狠操天天日| 综合激情开心五月| 婷婷丁香花五月天| 婷婷色色宗合网| www.97碰碰com| 亚洲综合新99视频| www.婷婷五月天.com| 亚洲婷婷性爱| 色婷婷电影网| 婷婷五月丁香综合| 丁香六月激情毛片| 青柠影视免费高清电视剧 | 五月天成人在线| 天天日夜夜欢| CAOBIBI| 伊人五月天| 99视频这里只有精品10| 丁香五月98| 婷婷五月丁香欧洲| 色色草97| 99热色综合| 成人在线99| 99性视频| 狠狠狠狠狠草| 欧美婷婷五月激情| 中文久久久人妻| 热久国产| 九热久| 狠狠操狠狠色| 亚洲三A| 久久怕怕视频| 欧美日韩成人在线| 色婷婷基地| 天天日天天摸| www.婷婷五月天.com| 97色伦另类图片小说视频| 超碰在线成人| AAA久久| 狠狠综合区| 99热每日| 五月婷九九草| 一起肏在线视频| 爱iii做iiii日| 婷婷六月天| 综合久| 激情综合99| 亚洲天堂aaa| 婷婷五月天人妻| 久久色在线视频| 九九热99视频| 99热99成人| 91大神操美女| 欧美va亚洲va| 欧美婷| 九九热思思热| 五月天婷婷激情春色小说| 色亚洲视频| 婷婷五月激情四月综合| 五月婷色色| 日韩av在线电影| 99热色婷婷| 在线播放成人| 人人操 色| 久久久五月天网站| 色婷婷综合影院| 亚洲另类毛片| 六月丁香婷婷五月天| 五月丁香六月婷| 欧洲99视频在线| 这里只有在线精品| 色婷婷综合网站| 久久A V无码视频| 天天操夜夜爽歪歪| 色婷婷19| 中文字幕无码人妻少妇免费视频 | 69er小视频| 五月婷婷精品无在线| 五月天伊人综合| 亚洲综合五月天| 99在线观看精品| 久久久久婷婷| 日韩黄在免| 日本97在线观看| 91N 一起草| 欧美色色色色色色色色色色| 色色色综合视频| 亭亭五月激情亚洲在线| 噜噜操操| 国产在线网| 伊人大香蕉爱聚| 大香蕉人人网| 天天日狠狠| 青青草大香| 综合色婷婷| 色播五月婷婷| 婷婷精品性性性性性性性| 99热这里只有精品在线观看| 丁香五月天激情综合| 91精品久久久久久久久久| 色婷婷影视99| 美女丁香五月天| 热99只有里视频| 一级二级色大片| 五月丁香网站| 亚洲午夜视频| 成人超碰Av| 九九色图| 99re在线免费视频| 日本婷婷丁香五月| 激情人妻综合| 99爱在线| 99婷婷五月天| 香蕉婷婷色五月| 久久9热好| 婷婷爱爱蜜臀天天操| 五月丁香六月欧美综合| 影音先锋偷偷色男人站| 伊人热在线大香蕉| 婷婷5月开心6月| 婷婷操超碰| 国产黄大片在线观看画质优化| 香蕉97碰碰碰超视精品| 五月丁香AV在线| 五月婷婷五月| 日本精品99网站| 日日爽天天| 色五月激情| 色欲色香,www,com| 国产精品热搜丁香五月婷婷| A片试看120分钟做受图片| 九九碰九九爱97超| 99久久国产宗和精品1上映| 丁香五月激情欧美| 久久五月天 91| 久久这里精彩免费在线观看| 久久色五月天| 一起操 91N.com| 婷婷色天香| 超碰久热| 啪啪91| 思思久久99| 狠狠久久婷五月综合色| 色的色综合| 开心激情网在线| 在线观看亚洲视频影院| 亚洲操操操| 久久se 综合网| 色综合五月婷婷狠狠干| 免费观看全黄做爰的视频| 久久婷婷精品| 亚洲激情婷婷| 日韩成人精品中文字幕| 日日操夜夜爽| 亚洲激情 久久| 五月激情偷拍| 天天天操天天天爰| 91五月天| 精品色色网| 日日干日日| 色热久资源| 色婷婷婷婷| 丁香玖玖| 九九Av| 99操中文视频| 99久久久久| 台湾综合丁香五月蜜桃| 日本色五月| 丁香综合网| 九九色影视| 久久婷.com| 婷婷久久综合久| 九九热欧美| 狠狠干在线| 久久作爱| 欧美交换配乱吟粗大25P| 婷婷五月天堂网| 色噜噜狠狠一区二区三区| www超碰| 五月天国产| 丁香六月色婷婷欧美| 中文av网| 天天爽夜夜爽| 亚洲天堂大香蕉| 99操视频| 精品久久久久久久人妻| 成人短视频在线免费观看| 狠狠狠狠狠狠| 狠狠色丁香综合| 亚洲欧洲中文日韩久久AV乱码| 五月丁香婷婷啪啪综合网| 五月美女婷婷风骚| 激情婷婷久久| 中文人妻主播久久| 9久久网| 日本在线视频播放91| 丁香六月婷婷综合激情欧美| 日韩成人中文| 婷婷激情综合| 婷婷五月综合在线视频| 五月婷婷激情啪啪| 综合五月婷婷| 常久最新免费的色吊丝| 色亚洲无码| 大香蕉久久视频久久视频 | 丁香婷婷色五月合集| 偷拍99在线视频观看| 激情六月天| 狠狠操.com| 五月丁香婷婷激情爱爱| 九九Av| 99色看| xx久久| 美女婷婷激情亚洲| 亚洲综合成人网| 婷婷激情综合网| 伊人碰碰婷婷| www久久久久久久久久久久久久久久久| 丁香五月天堂网| 五月丁香怕啪啪| 国产综合A片| 激情欧美五月丁香| 五月婷婷六月情| 插插干干干色| 色综合九九色综合88| 国产国产乱老熟女视频网站97| 日日干夜夜干| 玖玖资源站中文| 久久99最新| 在线观看av网站| 999热在线观看视频| www.超碰在线| 丁香婷婷色色| 精品成人a v无码内射| 夜夜涩涩涩| 色婷天天| 狼友超碰| 九九偷拍网| 黄网在线免费观| 99色精品| 婷婷久久久| 久久人妻视步| 欧美婷婷五月| 精品色色网| 九九99久久| 婷婷五月天大香蕉| 日本操B片| 午夜成人片400| 五月婷婷综合视频| 天天干夜夜想| AV人人操| 思思精品视频| 九九精品热| 涩综合网| 成人在线网| 日韩综合久| 99re8这里只有精品99re8热视频| www夜夜操com| 丁香五月综合AV在线| 婷婷五月精品在线| 亚洲婷婷激情888精品久| 中文久久久人妻| 人人色婷婷五月天| 丁香色播五月天| 99热在线99| 99 频99热国里只有精品| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 99热这里有精力| 色五月婷婷91| 99在线观看精品| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 狠狠五月激情婷婷直播片| 婷婷成人丁香色情基地30| 婷婷五月天AV激情| 色狠狠色狠狠| 婷婷成年人免费视频| www,26uuu,c0m,色情| 婷婷色激情五月天| 国产九九一区二区三区| 日韩无码专区| 精品人妻伦九区久久AAA片| 亚洲视频在线观看| 婷婷不卡基地| 色九月欧美| 综合婷婷久久| 婷婷丁香激情五月| 综合激情站| 天天综合精品| 亚洲激情另类| 五月丁香婷婷欧美色图视频五月丁香777电影| http://www.com久久久精品一区| 日韩AV在线免费| 99久久久久久www| 欧美97色| 婷婷五月天激情综合深爱| 亚洲综合色棒| 91精品婷婷国产综合久久| av人人干| 99re久热| 大香蕉九九| 婷婷六月丁香1| 综合一本道| 五月婷网| 激情久久伊人| 亚洲av综合网| 激情综合网激情五月丁香| 99这里只有精品|v| 激情99| 超碰人人插| 亚洲成人中文字幕| 六月婷婷无码| 婷婷五月在线观看| 色色五月婷婷网| 久久精品系列| 人人摸人人射| 丁香九月激情| 9在线9在线婷婷在线国产| 97极品在线| 人人干人人操人人摸人人做| 淫视馆AV在线| 久久久久久久91| 激情五月丁香五月| 激情五月天综合婷婷网| 狠狠精品干练久久久无码中文字幕| 亚洲欧美日韩另类| 五月天婷婷三级黄| 天天爱天天吃狠天天透| 强壮的公次次弄得我高潮A片日本 | 激情五月天福利| 婷婷97碰碰| 婷婷五月天综合中文| 婷婷丁香五月亚洲| 国产性爱色| 日本美女天天日天天爽| www.婷婷| 大香蕉久久婷婷精品综合| 狠狠人人| 夜夜爽天天爽| 激情五月婷| 终合激情网| 日日干四虎| 超碰碰碰碰| 婷婷娌伦网| 玖玖婷婷五月天毛片| 国产色色在线| 欧洲一区二区| 九九精品亚洲| 婷婷综合激情| 人妻在线网站| 婷婷五月天欧美| 欧美久久一级内射wwwwww.| 久久久97| 爱射综合| 狠狠爱激情网| 情色五月天网站| 婷婷五月丁香A∨| 五月婷婷六月激情网| 五月天激情婷婷| 超碰99在线观看| 成人婷婷| 91avse| 婷婷社区五月天| 五月天婷婷网站| www.激情五月天com| 亚洲成av人影院| www.99热视频在线观看| 熟妇人妻中文字幕无码老熟妇| 激情欧美婷婷| AA丁香综合激情| 久久五月天合网| 色色A| 婷婷九月色| 五月丁香色色| 免费AV在线| 色九九九九| 色五月五月天色婷婷色五月| www.五月丁香| 玖玖综合色| 狼人久草| 久久小视频| 丁香五月大片| 婷婷久久爱| 开心婷婷五月天激情网| 九月久久婷婷| 97人人操人人干| 开心久久xxx色| 国产精品久久久久久久久久| 五月丁香六月婷婷亚洲| 综合九九日本| 丁香九月久久| 久久亚洲色导航| 在线中文AV| 婷婷五月丁香综合激情| 超碰人人操在线| 99热这里只有精品99| 五月丁香六月婷婷综合免| 精品久久久91久久影视网| 人人草人人爱手机视频看看 | AV成人在线播放| 久9久9久9久9久9久9| 91九九| 色五月激情五月| www.ppypp| 国产免费av在线| 日韩人妻在线观看| 操老逼综合网| 丁香婷婷激情五月天无毒不卡蜜桃| 激情丁香六月| 热91久| 99这里只有精品视频| 色婷婷操逼| 国产亚洲精品AAAAAAA片| 色婷婷久久综合丁香五月| 欧美性爱一区| 成人中文网| 狠狠的日| 五月激情久久综合| 99碰网站| 丁香五月天大香蕉啪啪| 男女99免费视频| 六月丁香婷婷尤物| 这里只有精品视频99| 翔田千里aV中文字幕| 伊人久久丁香狠狠婷婷综合香蕉| 99福利导航| 色情丁香五月天| 无码橾| 免费观看全黄做爰的视频 | 国产67194| 五月婷婷综合潮喷| 久久精品色| www.激情五月天.con| 91超级碰| 日韩人妻无码精品| 丁香五月婷婷综合网| 99久久精| 大香线蕉伊人| 综合精品啪啪| www.wuyuetian啪啪| 色色热| 激情五月婷| 丁香婷婷色| 思思热99在线| 69堂午夜视频最新地址| 五月玖玖| 天天综合 99久久婷婷| 五月天操逼激情| 天天干天天日天天操| 久久538| 五月花婷婷最新| 五月综合亚洲色| 9有码中文| 51精品国内探花| 免费看欧美成人A片无码| 色婷婷99| 婷婷97| 思思99热| 99热这里只有精品在线| 这里只有精品免费观看网占| 日批在线看| 影音先锋色色色资源色资源色| 五月伊人91| 亚洲中文字幕av| 任你日视频| 韩国激情五月天综合网| 婷婷色爱| 丁香六月激情国产| 色 色 色综合com| 99操逼| 五月天激情无码| 婷婷中文字暮| 99综合色| 色综合伊人网| 天天干天天操天天射| 久久人人人人妻| 狠狠操天天日| 天天色官网| 五月天婷婷深深爱| 久久久五月婷婷| 五月天激情开心网| 天天色,天天日,天天做| 可以看的av网站| 色婷婷久久| 色噜噜狠狠色综无码久久合欧美| 免费精品99| www.日本91| 丁香五月天啪啪激情综和网| 九九精品视频在线观看| 激情五月丁香亭亭| www.五月婷婷| 超碰在线人妻| 91男女视频在线观看| 新激情婷婷| 男女激情久久| 丁香五月网址| 精品福利911| 天天爽天天干| 久久五月婷| 日本A片一区| 丁香五月欧美激情| 思思热99在线| ww久久| 超级碰碰97在线| 99热一本久道| 欧韩性爱| 五月丁香六月欧美综合网站| 五月激情影院| 9999热精品| 亚洲色情久久| 99视频久久| 成人AV在线电影| www.五月婷| 一夜福利不卡| 狠狠色大香蕉| 丁香88AV五月婷婷| 97九色| 亚洲视频伍月婷婷| 五月激情综合网| 任你干线上免费视频有3吗| 婷色五月| 26uuu在线观看| 亚洲亚洲人成综合网络| 婷婷丁香激情综合色情| 色五月丁香伊人| 丁香五月激情婷婷| 黄色激情久久| www激情com| 国产SUV精品一区二区6| 国产 亚洲 在线| 国产亚洲精久久久久| 激情五月天综合网| 日韩九区| 九九精品免费| 亚洲av综合在线| 五月丁香激情综合啪| 天天日夜夜曹| 精品热九九| 狠狠五月激情在线| 日本色道视频网站| www.综合久久.com| 婷婷丁香五月在线播放| 国产毛片操B| 深爱五月激情综合| 激情五月综合| 一区视频网站| 日日干日日| 日韩AV免费| 婷婷五月色丁香在线看| 五月天激情婷婷| 如何安全看伊人婷婷| 中文色婷婷| 五月天丁香婷婷社区| 色狠狠色噜噜AV天堂五区消防| 亚洲亚洲人成综合网络| 色色色777| 天天操人人干| 91超级碰碰| www.久久久久| 五月丁香啪啪啪啪| 国产免费AV网站| 日韩AV片| 99操碰| www.91色| 五月婷婷中文| 亚洲激情亚洲激情| 桃色五月天| 婷婷色五月噜噜| 丁香五月成人| 干亚洲天堂| 无码人妻少妇色欲AV一区二区| 五月丁香综合网色欲| 99热自拍| 另类图片 五月激情| 曰韩少妇内射免费播放| 99色视频在线观看| 欧美色激情四射| 色五月成人网| 亚洲视频码| 久久天天| 色99在线视频| 激情婷婷五月| 狠狠干2007| 91干婷婷| 九色啦蜜臀| 人人干99| 五月婷婷激情综合| 五月四色婷婷| 成年视频免费观看| 操碰91| 天天爽天天弄| 女同在线9| 深爱婷婷网| 91碰碰视频| 99在线观看| 男女久久婷婷五月天| 日本天堂久久| 天天综合在线网| 色综合xx| 色五月自偷自拍婷婷婷婷| 99热综合网| 99热精品在线播放观看| 超碰2021| 五月婷亚洲精品AV天堂| 婷婷天天插天天爱| 99热九九九九| 大香蕉伊人久久| 天天爽人人爽| 97超碰在线免费观看| 97色干| 99视频这里只有精品10| 婷婷亚洲综合| 内射 无码 伊人| 丁香六月激情| 人人干Av| 一区视频网站| 欧美69久成人做爰视频| 狠狠色大香蕉| 噜色精品| 丁香婷婷九月| 五月婷婷丁香日韩在线| 精品久久久999| 国产精品国产VA片国产| 久久综合丁香| 亚洲欧美成人在线观看| 日本高清久久| 六月丁香激情网| 男人天堂伊人五月丁香| 91婷婷五月丁香碰| 4399啪啪视频| 深爱激情丁香| 婷婷五月天影视首页| 新97人人上人人| 操操碰| 国产免费一区二区三州老师F1……| 青草视频在线播放| 天天爽天天爽天天爽天天爽天天爽天天爽天天 | 婷婷五月激情图片| 嫩草AV久久伊人妇女超级A| 天天日天天干天天操| 婷婷.com| 狠狠色婷婷在线| 99爱在线视频| 九九免费视频在线| 99在线视频资源| 男人的天堂av俄罗斯热| 99只有精品| 激情综合啪啪| 五月丁香啪啪网| 婷婷开心激情综合五月天| 丁香五月婷婷深爱综合激情| 先锋资源婷婷| 日本色超碰| AⅤ网站在线看| 色色综合网站| 天天色综网| 久热99热| 五月婷婷丁香六月| 丁香五月婷婷色| 婷婷丁香五月久久| 日本熟女视频一区二区| 99爽视频| 91九色精品| 九月激情综合婷婷| 伊人丁香五月婷婷潮吹| 99热亚洲只有色| 成人中文网| 欧亚成人A片一区二区| 五月色网| 久久五月综合| 99视频在线观看视频| 98色花堂98t.R| 99热这里只有精| 中文字幕婷婷五月天在线观看| 亚洲狠狠婷婷综合久久久| 永久思思热在线| 99热综合在线| 久久久久久xxxxx| 91丨九色丨东北熟女| 91九色国产| 久久婷婷综合网| 丁香九月婷| 国产免费一区二区在线A片视频| 色色丁香婷婷综合| 一区二区成人电影| 99在线精品观看99| 五月婷六月综合在线观看| 人妻狠狠操| 99re在线观看视频| 久久五月天黄色五月天色网址| 南京搡BBBB搡BBBB| 色婷婷AV五月天| 岛国av电影网站| 啪到高潮激情丁香五月| 玖玖资源在线视频| 九九色色网| 婷婷五月天中文字幕.| 五月停停直播| 噜噜噜噜在线| 99热在线只有精品| 99ri精品在线| 五月天婷婷丁香| 国产真人做爰视频免费| 丁香五月天成人| 亚洲无码AV片| 玖玖在线| 亚洲色色图片| 婷婷五月六月丁香综合| 天天天天天天操| 日韩成人AV在线播放| 五月天婷婷久久视频| 国产精品A成V人在线播放| 狠狠狠狠狠狠草| 色哟哟性爱av| 五月丁香爱婷婷深深| 国产美女最新VA在线免费观看| 激情五月,婷婷五月,丁香五月| 色综合久久88色综合天天看| 久久精彩免费视频| 碰99在线| 色色色综合色| 婷婷五月天伦理| 狠狠做深爱婷婷久久综合一区| 99热主页日本| 777影视理论片大全在线观看| AV中文字幕夜夜操b天天摸bb | 色色色色av色色色色| 91九色无码日韩| 国产精产国品一二三在观看 | 久久这里只有精品网| 九九热99热| 五月丁香黄色视频| 韩国不卡AC视频| 婷婷久久五月丁香| 天天操夜夜肏| 操碰91| 高清a片基地| 无码啪啪| 天天摸色吧天天摸色吧| 亚洲色五月天| 五月婷婷精品| 激情五月天之六月婷婷| 婷婷久久五月天丁香| 精品少妇人妻AV无码专区偷人| 色色婷婷丁香五月天| www.爱操com.| 人人综合久| 五月婷婷丁香俺日污视频| 色色99| 日本3级片一区2区| 日日射天天射| 热久精品| 九九亚洲无码| 婷婷综合五月色播| 99这里都是精品6| 狠狠草网| 我要射综合| 99在线免费视频| 超碰在线综合| 播五月丁香六月| 午夜一区| 操B五月天| 婷婷色色欧美| 福利视频在线播放| 婷婷综合五月| 天天综合 99久久婷婷| 偷拍九九热| 狠狠色综合777| 色99网| 色5月婷婷色| 综合久久五月天| 伊人网色婷婷五月天| 狠狠色婷婷在线| 亚洲啪啪啪啪| 日韩美女羞羞网站在线观看| www.色擼擼.com| 精品一二三区久久AAA片| 五月婷婷开心亚洲无| 五月婷婷人人人操| 婷婷九月狠狠色| 99热在线只有精品| 久久九九囯产| 色五月婷婷内射| 99久99久| 色婷婷五月综合网| 久久久亚洲精品一区二区三区浴池| 久综合网| 97久久超碰| 999热在线视频| 97碰久久| 亚洲愉拍99热成人精品| 九色七七| 中文字幕五月久久婷| 免费精品99| 国产精品人妻在线网址| 婷婷成人五月天成人文学| 欧美男女婷婷| 欧美精品18| 婷婷精品综合| 亚洲国产成人综合| 激情综合色网| 久久性视频| 狠狠夜夜五月丁香| 无码日本精品XXXXXXXXX| 激情五月激情综合网一级丸片| 五月丁香激情综合网| 九九这里只这里只有精品| 欧美精品XXXXBBBB| 丁香六月婷婷综合网| 九九成人电影婷婷| 狠狠操婷婷| 五月婷婷综合性爱噜噜| 久久最新色| 九九久久综合| 久久香蕉网| 中文字幕 久久9999| 婷婷五月天综合久久日美女| 欧美日韩AAAA| 九九热99熟女| 99∨VTV| 婷婷六月中文字幕| 91在线人| www999日韩精品| 97人人干| 牛色色碰| 99综合色| 五月丁香久久综合| 激情四射五月天| 婷婷激情5月| 97操| 五月婷婷,六月丁香| 亚洲精品操一操、噜一噜、摸一摸、爽 | 色五月丁香91| 超碰网站在线观看| site:901-07.com| 激情五月四色| 欧美五月婷婷| 无码毛片992367| 无码动漫AV| 九九激情| 日韩精品二三区| 91人人操.COM| 亚洲亚洲人成综合网络| 丁香五月乱中文字幕| 五月丁香亭亭操逼| 99精品偷自拍| 色色色色网站| 77799热| av超碰在线| 丁香五月婷久久| 在线A色| www.色五月.com| 夜夜嗨一区二区三区直播内容 | 79成人网| 97色欧美| www免费在线视频| 色99色| 求可以看的AV网址| 丁香激情四射| 亚洲综合色婷| 97久久久| 丁香六月无码播放| 开心六月丁香五月婷婷| 2021日韩无码| 日韩中文字幕| 久久婷色| 思思热在线播放| 丁香综合伊人| 99色在线观看视频| 五月天婷婷综合色| 久色网| 色五月天电影| www.日韩艹| 五月丁香婷婷色| 久久精品五月| www.99热国产| 日本va欧美va国产激情| 996er热| 怡红院精品视频久久久久久久久| 亚洲一级色电影| 国产亚洲AV人片在线| 久久婷婷热| 99色在线| 狠狠干综合网| 人妻五月天激情开心网| 九九人人操| 九月久久婷婷| 国产综合A片| 强辱丰满人妻HD中文字幕| 久久香蕉网| 97热这里精品在线视频| 五月天婷婷爱| 互月天综合| 5月丁香综合网| 五月婷婷干干干| 色婷| 六月婷婷色色色| 久久99免费视频| 五月天丁香色色| 202丰满熟女妇大| 26UUU欧美| 91久久久久久久久18| 五月天精品| 深爱激情综合网| 日日爱699| 五月停停丁香| 激情小说之五月| 午夜爱爱爱成人| 在线五月色播| 婷婷九月激情| 色色网站在线免费观看视频| 丁香婷婷六月激情文学 | 中文字幕av在线| 9久久久久久久久久久| 91日日日| 色色色综合色| 人妻九九九九| 色综合久久综合中文综合网| 国产精品视频免费看| 大香蕉九九热| 色综合久久44| 九九人人操| 五月婷婷激情刺激| 美女五月激情| 思思视频这里是精品| 色爱综合视频| 天天拍夜夜爽日日| 五月天色婷婷基地| 99亚洲色色| 久久婷婷五月天蜜桃| 激情综合色婷婷啪啪六月天| 波多野结衣AV无码Porn| 噜噜干日本| 丁香五月天电影| 91狠狠色丁香婷婷综合久久精品| 大地9中文在线观看免费高清| 麻豆WWWCOM内射软件| 99热国产在线| 成人VAV视频在线观看| 九九精彩久久| 色播丁香| 天天天天天色| 天天干天天操天天爱| www天天爽| 五月天综合网| 免费黄色片子| 婷婷激情五月| 久久色大香蕉| 888久久久| 亚洲不卡| 五月丁香综合伦理片| 开心五月深爱激情| 五月婷婷综合在线| 色色色色色色色色网站| 五月丁香| 婷婷丁香综合在线| 99热最新精品| 六月丁香成人| 深爱激情网五月天| 欧美日韩成人免费在线| 五月婷婷综合在线| 五月天丁香啪啪网| 中文AV在线观看| 美女丁香五月天| 亚洲成人va| 丁香五月婷婷亚洲综合精品| 五月婷丁香| 亚洲天堂制| 亚洲成人一区| 丁香六月成人网| 久久久久网站| 免费看欧美成人A片无码| 一本狠婷婷综合| 婷婷99狠狠| 思思精品热在线| 久久激情五月| 丁香五月 性爱| 亚洲色婷婷| 思思 热 99| 婷婷五月丁香基地| www.金莲av| 亚洲AV成人精品日韩在线播放| 九九免费在线视频| 97婷婷狠狠| www.久99| 色婷婷丁香网| 色99网站| 丰满女老板BD高清A片| 色色五月天婷婷丁香| 激情亚洲五月| 综合久久影院| 五月丁香婷婷激情图片| 久久久精品视频79| 激情六月天婷婷| 精品一二三区久久AAA片| 五月丁香婷婷综合视频| 99.色| 久久伊人五月天| 91综合色噜噜| 婷婷激情蜜桃玖玖丁香| 91精品无码| 日韩精品一曲二曲三曲四曲五曲| 美女五月激情| 久久丝袜婷婷| 五月丁香婷婷老司机| 日本色婷婷久久99精品91| 丁香婷婷色| 五月伊人婷婷999| 三级大香蕉网| 色婷婷导航| 亚洲av网站| 五月婷婷婷丁香播| 亚洲日本三级片| 色欲五月天| 色婷婷六月| 成人在线网址| 操九色| 婷婷综合另类| 婷婷五月天婷婷| 夜精品无码A片一区二区蜜桃| 五月丁香另类图片| 五月婷婷在线视频观看| 丁香狠狠色婷婷久久无码视频| 99色看这里只有精品| 啪啪91| 久久 婷婷 五月天| 欧美精品18| 九九综合五月欧美| 99爱视频免费看| 先锋影音av色五月天资源站| 久久婷婷丁香五月一二三| 色播五月| 久久久激情| 97碰碰视频在线观看| 五月丁香六月婷婷久久肏| 亚洲欧洲中文日韩久久AV乱码| avh片在线观看| 亚洲99在线| 91久久精品国产91性色TV| 色欲五月天| 强辱丰满人妻HD中文字幕| 婷婷久久婷婷色五月| 综合久久五月| 五月婷啪啪| 激情文学第四色婷婷丁香五月| 五月丁香五月综合欧美| 91综合色噜噜| 日韩视频99| 欧美三级视频下载| 五月婷婷在线免费观看| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 热久精品| ri电影在线|