freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于vhdl的hdb3編譯碼器的設(shè)計(jì)-文庫吧

2024-11-12 15:11 本頁面


【正文】 碼照常輸出。插39。V39。流程圖如圖32所示。如前考慮,插”V”模塊須設(shè)計(jì)一個(gè)計(jì)數(shù)器(count0),用來作為插”V”符號(hào)的標(biāo)志。在進(jìn)程(process)中,通過條件控制開關(guān)(case語句)完成插”V”功能。這里使用了一個(gè)技巧來實(shí)現(xiàn)流程的控制,即在選擇語句(case語句)中嵌套了條件判斷語句(if語句)來控制雙重條件判斷的執(zhí)行結(jié)果。(詳細(xì)程序見附錄)假設(shè)輸入一串代碼,根據(jù)設(shè)計(jì)思想,輸入代碼與插入”V”符號(hào)之后的關(guān)系如下:代碼 : 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0插V后:01 00 00 00 11 01 00 00 00 11 01 01 00 00 00 11Flag0=0Cnt0=0Cnt0=t0+1Codeoutv=0Cnt0=4 startFlag0=0,t0=1,firstv=0Codein=0Flag0=0 endFirstv=1Cnt0=0Codeoutv=39。39。v39。39。Flag1=0Flag0=0Codeoutv=+1Flag0=1Codeoutv=39。39。+v39。39。Flag1=1Codeoutv=1Flag0=0Codeoutv=39。39。+v39。39。Flag1=0Flag0=0Codeoutv=39。39。v39。39。Flag1=0Flag1=0Firstv=0 N Y Y N Y N Y N N Y Y注: Cnt0為計(jì)數(shù)器0的個(gè)數(shù); Flag0表示非零碼的極性; Flag1表示V的極性; Firstv表示第一個(gè)V碼; Codein為輸入碼型; Codeoutv為輸出V的碼型;圖32 插39。39。V39。39。流程圖 補(bǔ)B模塊的設(shè)計(jì) 插“B”模塊的功能是保證附加“V”符號(hào)后的序列不破壞“極性交替反轉(zhuǎn)”造成的無直流特性,即當(dāng)相鄰“V”符號(hào)之間有偶數(shù)個(gè)非0符號(hào)的時(shí)候,把后一小段的第1個(gè)“0”變換成一個(gè)非破壞符號(hào)——“B”符號(hào)。補(bǔ)B模塊流程圖如圖33所示: start endFlag2=0Codeoutb=39。39。+B39。39。Codeoutb=codeoutvCodeoutb=codeoutvCodeoutb=codeoutvCodeoutb=39。39。B39。39。 Flag2=1Codeoutb=codeoutvCodeoutb=codeoutvothersCodeoutv=39。39。+139。39。Codeoutv=39。39。+v39。39。Codeoutv=39。39。139。39。Codeoutv=39。39。v39。39。Flag3=1Flag3=0Flag3=0Flag3=0 Y N N Y注:Codeoutv為V的極性;Codeoutb為補(bǔ)B的碼型;Flag2為前一V碼的極性;Flag3為標(biāo)識(shí)前一非零碼的極性;圖33 補(bǔ)B模塊流程圖圖中補(bǔ)“B”模塊是這個(gè)設(shè)計(jì)遇到的第一個(gè)難點(diǎn),因?yàn)樗婕暗揭粋€(gè)由現(xiàn)在事件的狀態(tài)決定過去狀態(tài)的的問題。其中還有如何確定是“1”,還是“V”的問題。處理難點(diǎn)的思路是:首先把碼元(經(jīng)插“V”處理過的)放入一個(gè)4位的移位寄存器里,在同步時(shí)鐘的作用下,同時(shí)進(jìn)行是否補(bǔ)“B”的判決,等到碼元從寄存器里出來的時(shí)候,就可以決定是應(yīng)該變換成“B”符號(hào),還是照原碼輸出。因此,在程序的結(jié)構(gòu)中進(jìn)行元件聲明(ponent declaration),調(diào)用庫里的D觸發(fā)器來實(shí)現(xiàn)延遲作用。為了使程序更清晰,用了幾個(gè)元件例化語句(pomemt instantiation),來說明信號(hào)的流向。所謂元件例化就是引入一種連接關(guān)系,將預(yù)先設(shè)計(jì)好的設(shè)計(jì)實(shí)體定義為一個(gè)元件,然后利用特定的語句將此元件與當(dāng)前的設(shè)計(jì)實(shí)體中的指定端口連接,從而為當(dāng)前設(shè)計(jì)實(shí)體引入一個(gè)新的低一級(jí)的設(shè)計(jì)層次。在這里,當(dāng)前設(shè)計(jì)實(shí)體相當(dāng)于一個(gè)較大的電路系統(tǒng),所定義的例化元件相當(dāng)于一個(gè)要插在這個(gè)電路系統(tǒng)板上的芯片,而當(dāng)前設(shè)計(jì)實(shí)體中指定的端口則相當(dāng)于這塊電路板上準(zhǔn)備接收此芯片的一個(gè)插座。元件例化是使VHDL設(shè)計(jì)實(shí)體構(gòu)成自上而下層次設(shè)計(jì)的一種重要途徑。要進(jìn)行補(bǔ)“B”判決,首先要知道哪一個(gè)是“V”,從前面的程序中我們了解到,“V”已經(jīng)用“11”代替,“1”用“01”代替,從這里就表現(xiàn)出采用雙相碼的優(yōu)點(diǎn),它輕易地解決了“V”和“1”的差別。根據(jù)這個(gè)設(shè)計(jì)思想,輸入代碼與插“V”及補(bǔ)“B”后的代碼的關(guān)系如下:代 碼 :1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1插V后: 01 00 00 00 11 01 00 00 00 11 01 01 00 00 00 11 01 01 補(bǔ)B后:01 00 00 00 11 01 00 00 00 11 01 01 10 00 00 11 01 01 單/雙極性變換的實(shí)現(xiàn)根據(jù)HDB3的編碼規(guī)則,我們可以知道,“V”的極性是正負(fù)交替的,余下的“1”和“B”看成一體且是正負(fù)交替的,同時(shí)滿足“V”的極性與前面的非零碼極性一致。由此我們可以將其分別進(jìn)行極性變換來實(shí)現(xiàn)。從前面的程序知道,“V”、“B”、“1”已經(jīng)分別用雙相碼“11”、“10”、“01”標(biāo)識(shí),“0”用“00”標(biāo)識(shí),所以通過以下的程序可以很容易實(shí)現(xiàn)。如下圖為實(shí)現(xiàn)極性變換功能的流程圖。根據(jù)編碼規(guī)則,“B”符號(hào)的極性與前一非零符號(hào)相反,“V”極性符號(hào)與前一非零符號(hào)一致。因此將“V”單獨(dú)拿出來進(jìn)行極性變換(由前面已知“V”已經(jīng)由“11”標(biāo)識(shí),所以很好與其他的代碼區(qū)別),余下的“1”和“B”看成一體進(jìn)行正負(fù)交替,這樣就完成了HDB3的編碼。這個(gè)部分遇到的難點(diǎn)在于:在QUARTUS Ⅱ軟件仿真過程中,它無法識(shí)別“1”,在它的波形仿真中只有“1”和“0”。因此在這里采用了雙相碼來分別表示“1”、“+1”、“0”。要得到所需的結(jié)果,僅僅在最后加一個(gè)硬件(如四選一數(shù)字開關(guān)CC4052)就可以將程序中所定義的“00”、“10”、“01”分別轉(zhuǎn)換成0、+1,從而達(dá)到設(shè)計(jì)所需結(jié)果。由上述的程序下載到FPGA或CPLD中,其輸出結(jié)果并不是“+1”、“1”、“0”的多電平變化波形,而是單極性雙電平信號(hào),事實(shí)上,程序輸出的是給單/雙變換器的硬件電路地址信號(hào)。 利用一個(gè)四選一的數(shù)據(jù)選擇器CC4052,二維數(shù)組作為CC4052的選擇地址,在輸出端OUT可以得到符合規(guī)則的“+1”、“1”、“0”變化波形。單/雙極性變換控制流程圖如圖34所示: Start Codeoutb=”01”&”10”Codeoutb=”11”Codeoutb=”00”Flag1b=0Flag1b=1Codeout=”00”Flag1b=0Flag1b=1Codeout=”01”Codeout=”10”Codeout=”01”Codeout=”10”Flag1b=flag1bFlag1b=1Flag1b=0 End注:Codeoutb為輸出的碼型;“10”:標(biāo)識(shí)為+1;“01”:標(biāo)識(shí)為1; flag1b:記“+V”或“V”之間的奇偶數(shù) 圖34 單/雙極性變換控制流程圖 HDB3編碼器的頂層設(shè)計(jì)為了使整個(gè)系統(tǒng)看起來簡(jiǎn)潔明了,本次設(shè)計(jì)采用頂層文件的方法,將各個(gè)模塊建立成元器件,然后在頂層文件中調(diào)用。在編碼前,首先通過編程產(chǎn)生一個(gè)序列發(fā)生器,通過它產(chǎn)生一段序列碼,由于過程中會(huì)產(chǎn)生毛刺,因此在設(shè)計(jì)中加入了一個(gè)D觸發(fā)器以消除毛刺現(xiàn)象,隨后將產(chǎn)生的序列通過編碼器,由于編碼設(shè)計(jì)的結(jié)果是不歸零的,所以本次設(shè)計(jì)在編碼后的基礎(chǔ)上加上了一個(gè)歸零模塊,使得出來的結(jié)果有一個(gè)歸零的效果,圖35為編碼的頂層文件圖:圖35 編碼頂層文件圖 HDB3編碼器的時(shí)序仿真對(duì)編碼頂層文件進(jìn)行時(shí)序仿真,得到仿真圖如圖36所示。圖中clk1為編碼器時(shí)鐘,clk2為歸零模塊時(shí)鐘,其中T1=2*T2,從而達(dá)到歸零效果。Dataout為編碼輸出,其中dataout1為高位,dataout0為低位。Dataout3為序列產(chǎn)生的原始碼元,GL1對(duì)應(yīng)于歸零后的dataout1,GL2對(duì)應(yīng)于歸零后的dataout0。從仿真圖中可以看到,序列產(chǎn)生的碼元為100001000011000011000010,編碼后的序列為200021000121200212100120,其中2為10即+
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1