【正文】
eoutv=01。 29 end process。 end if。 附表 一 、 畢業(yè)論文開題報(bào)告 論文(設(shè)計(jì))題目: 基于 FPGA 的 HDB3 碼編譯器設(shè)計(jì) 選題原因: 在數(shù)字通信中 , HDB3 是常用的基帶傳輸碼型。 進(jìn)度安排: 時(shí)間: 07 學(xué)年上學(xué)期末 至 下學(xué)期 4 月 25 日 1. 學(xué)習(xí)研究與 論文 設(shè)計(jì)相關(guān)的理論的基礎(chǔ)知識(shí),預(yù)期時(shí)間 4 個(gè)星期。 指導(dǎo)教師意見: 第 4 次檢查 學(xué)生總結(jié): 提交論文終稿,完成論文設(shè)計(jì) 最終 的撰寫 , 最終設(shè)計(jì)把 HDB3 碼編譯碼器以 VHDL 語(yǔ)言實(shí)現(xiàn)了出來,并通過仿真驗(yàn)證了其功能正確, 把預(yù)期的設(shè)計(jì)目的達(dá)成 。 指導(dǎo)教師意見: 第 2 次檢查 學(xué)生總結(jié): 已對(duì)論文 設(shè)計(jì) 所需的知識(shí)作學(xué)習(xí)研究, 主要學(xué)習(xí)內(nèi)容有通信碼型 HDB3 碼的編譯碼規(guī)則和其特點(diǎn), EDA 設(shè)計(jì)的方法步驟和 VHDL 設(shè)計(jì) 語(yǔ)言等。 只要利用 PC 機(jī)就可基本完成整個(gè)設(shè)計(jì)。 codeout=reg(4)。139。139。 end if。139。 codeoutv=01。then if t01 then t0=0。039。 then if t0=3 then coderror=39。then codeoutv=00。 signal codeoutv:std_logic_vector(1 downto 0)。 fp: in std_logic。 end if。 reg2(2)=reg2(1)。 26 else if codeouta(0)=39。 codeoutb。 when others = codeoutv=00。 codeoutb=39。 flagv=39。 if flagv=39。039。139。 begin process(clk,rst) variable vflag: std_logic。 signal codeoutv: std_logic_vector(1 downto 0) :=00。 codein: in std_logic。 在整 個(gè)設(shè)計(jì)過程中,我獲益不少。 若有誤碼被檢出, coderror 為 1,且之后的譯碼結(jié)果也不可能正確,用戶可根據(jù)檢錯(cuò)提示進(jìn)行相應(yīng)操作, 例 如請(qǐng)求發(fā)信端把 出 錯(cuò)的碼流段重發(fā)。 圖 44 HDB3 碼譯碼器仿真波形 參考編碼器的輸出結(jié)果,編碼器的 “1”由 11 表示,而譯碼器的 “1”由 10 表示,用 10 替換 11,把編碼器的輸出結(jié)果作為譯碼器 的輸入。用 flagzf 標(biāo)識(shí) 前一個(gè)脈沖的正負(fù) 極性 , flag=0 為正, flag=1 為負(fù) 。 扣 V 扣 B 若判斷出 V 的存在,就把 V 跟前三個(gè)碼都清零。 HDB3編碼器 的設(shè)計(jì)思路 若要處理 HDB3 碼,則須要先將其雙極性轉(zhuǎn)換成適合 FPGA 的單極性。 15 軟件仿真 運(yùn) 用 MAX+plus II 對(duì)編寫好的 VHDL 文件進(jìn)行編譯仿真,仿真結(jié)果如圖 33 所示。s0(4)和 s1(3)amp。 其輸出 的前兩位是經(jīng)插 V 后的 AMI 碼,最低位是給下一流程補(bǔ) B 作判決。如表 32 所示 , 其中低位與其本來數(shù)值相符,高位則以 0 來標(biāo)識(shí)‘ +’ ,用 1 來標(biāo)識(shí)‘ ’??梢栽诩?V 的時(shí)候 根據(jù)前一個(gè) V 和 4 連 ‘ 0’ 碼前一脈沖的極性, 去 判斷加 B,還是保持 ‘ 0’ 碼。由 HDB3碼的編碼規(guī)則可知,編碼器的工作主要是是按 AMI 碼對(duì)信號(hào)進(jìn)行編碼,判斷是否應(yīng)該加入破壞符 V, V 加入后是否該補(bǔ) B。 表 21 HDB3 編碼舉例 代碼 1 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 HDB3 +1 0 1 +1 0 0 0 +V 0 1 +1 B 0 0 V 0 +1 10 HDB3碼的譯碼 規(guī)則 HDB3 碼的譯碼是編碼的逆過程,其譯碼相對(duì)于編碼較簡(jiǎn)單。為克服 NRZ 信號(hào)存在直流分量以及豐富的高頻分量,一般采用雙極型歸零碼AMI(Alternate Mark Inversion): 0 信號(hào)依然無脈沖, 1 信號(hào)采用兩種交替極性的脈沖傳輸,占空比 為 50% 。通常,裝配用來描述對(duì)一定的 CPLD 的資源進(jìn)行分配的過程;布局 布線則是將綜合和優(yōu)化后生成的邏輯規(guī)劃到一個(gè) FPGA 的邏輯結(jié)構(gòu)中,然后將各邏輯單元放置到相應(yīng)優(yōu)化的位置,最后在邏輯元胞之間、邏輯元胞和 I/O 口之間進(jìn)行布線。一旦在后續(xù)工作中發(fā)現(xiàn)設(shè)計(jì)錯(cuò)誤,設(shè)計(jì)人員往往需要修改 VHDL 描述,然后再重新進(jìn)行綜合、化和裝配 (或者布局布線 ) 等后續(xù)操作,如此反反復(fù)復(fù),將會(huì)浪費(fèi)大量的時(shí)間和人力物力。設(shè)計(jì)規(guī)范的定義將對(duì)后面的設(shè)計(jì)步驟起到提綱挈領(lǐng)的作用,它相當(dāng)于系統(tǒng)設(shè)計(jì)的總體方案。這樣便給硬件描述帶來了較大的自由度,使設(shè)計(jì)人員能夠方 6 便地使用 VHDL 創(chuàng)建高層次的系統(tǒng)模型。自此, VHDL 在我國(guó)迅速開始普及。提出這個(gè)語(yǔ)言的目標(biāo)只是使電路文本化成標(biāo)準(zhǔn),目的是為了使 文本描述的電路設(shè)計(jì)能夠?yàn)槠渌怂斫?,同時(shí)也可以作為一種模型語(yǔ)言并能采用軟件進(jìn)行仿真。它以 EDA 軟件工具為開發(fā)環(huán)境,采用硬件描述語(yǔ) 言( Hardware Description Language, HDL),以可編程器件為實(shí)驗(yàn)載體,實(shí)現(xiàn)源代碼編程、自動(dòng)邏輯編譯、邏輯簡(jiǎn)化、邏輯分割、 邏輯綜合、布局布線、邏輯優(yōu)化和仿真等功能,以 ASIC、 SOC 芯片為目標(biāo)器件,以電子系統(tǒng)設(shè)計(jì)為應(yīng)用方向的電子產(chǎn)品自動(dòng)化的設(shè)計(jì)技術(shù)。 ( 5) FPGA 器件具有較小的基本邏輯單元,適合實(shí)現(xiàn)流水線結(jié)構(gòu)的設(shè)計(jì),也可以利 4 用邏輯單元的級(jí)連來實(shí)現(xiàn)較長(zhǎng)的數(shù)據(jù)通路。使用 SRAM 的 FPGA 器件,工作前需從芯片外部加載配置數(shù)據(jù)。它將 VLSI 邏輯集成的優(yōu)點(diǎn)和可編程器件設(shè)計(jì)靈活、制作及上市快速的長(zhǎng)處結(jié)合,使設(shè)計(jì)者在 FPGA 開發(fā)系統(tǒng)軟件的支持下,可在現(xiàn)場(chǎng)直接根據(jù)系統(tǒng)要求定義和修改其邏輯功能,使一個(gè)包含數(shù)千個(gè)、數(shù)萬個(gè)邏輯門的數(shù)字系統(tǒng)可在幾天之內(nèi)完成設(shè)計(jì)并且實(shí)現(xiàn),將以前由許多 TTL, PLD, EPLD 執(zhí)行的邏輯功能集成到單一芯片的 FPGA 上。傳輸碼型中應(yīng)含有定時(shí)時(shí)鐘信息,以利于 接 收端提取定時(shí)時(shí)鐘,在基帶傳輸系統(tǒng)中,定時(shí)信 息是在接收端 恢復(fù) 原始信息所必需的。 關(guān)鍵詞: HDB3 碼; FPGA; EDA; VHDL; 編譯碼器 ii Abstract HDB3 code is one of codes used in the transmission system. It has no DC ponents and a few of LF ponents. Moreover, it has continuous zeros no more than three. The features of HDB3 code help the signal to be rebuilt and be checked for error easily, so HDB3 code is the monly used code in the transmission system. Low cost, dependability, short design cycle and repeated programmability are the features of FPGA. You can design hardware of digital circuits by using software as a result of using FPGA with EDA. It will construct the digital system quickly and reduce the cost of design. This paper first introduces the development and background of HDB3, FPGA and EDA, and then expands VHDL, which is monly used as a designentry language for EDA. A summary of digital circuits? design by using VHDL is provided. Moreover, the principle and features of HDB3 code is introduced. According to principle of HDB3 codes, the encoder and decoder is designed by using VHDL. Finally, the plan of design, the flow of software design and the simulated waveform of HDB3 encoder and decoder is presented, showing correctness of the design. Keywords: HDB3 code; FPGA; EDA; VHDL; Encoder and Decoder iii 目 錄 摘 要 ....................................................................................................................................................................I ABSTRACT ............................................................................................................................................................ II 第一章 前言 .............................................................................................................................................................1 HDB3碼的簡(jiǎn)述 ...................................................................................................... 1 FPGA 的簡(jiǎn)介 ......................................................................................................... 2 概述 ..................................................................................................................................2 FPGA基本 結(jié)構(gòu)及特點(diǎn) ..................................................................................................2 EDA技術(shù) ............................................................................................................... 4 VHDL 硬件描述語(yǔ)言 ............................................................................................... 4 VHDL 簡(jiǎn)介 .....................................