色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > Virtex-5FPGA設(shè)計Gbps無線通信基站

          Virtex-5FPGA設(shè)計Gbps無線通信基站

          作者: 時間:2009-04-02 來源:網(wǎng)絡(luò) 收藏

          1、引言

          本文引用地址:http://cafeforensic.com/article/158127.htm

            隨著集成電路(IC)技術(shù)進(jìn)入深亞微米時代,片上系統(tǒng)SoC(System-on-a-Chip)以其顯著的優(yōu)勢成為當(dāng)代IC的熱點?;谲浻布f(xié)同及IP復(fù)用技術(shù)的片上系統(tǒng)具有功能強(qiáng)大、高集成度和低功耗等優(yōu)點,可顯著降低系統(tǒng)體積和成本,縮短產(chǎn)品上市的時間。IP核是SoC的一個重要組成部分,已成為目前微電子設(shè)計的熱點和主要方向[1]。

            UART 核以其可靠性、傳送距離遠(yuǎn)的特點被廣泛應(yīng)該到通信系統(tǒng)和上。利用傳統(tǒng)的EDA工具通過對RTL代碼仿真、驗證、綜合、布局布線后生成網(wǎng)表,下載到中實現(xiàn),這樣做成的核主要用于驗證的[2],不適合用來做掩膜。在ASIC/SoC技術(shù)日漸成熟的今天,設(shè)計商更希望得到能夠做掩膜的IP核,從而便于嵌入到ASIC/SoC設(shè)計中。本文描述的UART核采用SYNOPSYS軟件的設(shè)計流程,在RTL級上進(jìn)行優(yōu)化,解決了綜合優(yōu)化中碰到的一些常見問題。利用VCS 仿真、編寫測試激勵來驗證,最后用design compile 綜合優(yōu)化做成的IP核可以滿足此要求,應(yīng)用到ASIC/SoC設(shè)計中將產(chǎn)生巨大的效益。

            2、UART核的功能分析和設(shè)計

            2.1 UART 核的傳輸與總體模塊設(shè)計

            通常信息是通過數(shù)據(jù)幀來傳送的,由起始位、8位數(shù)據(jù)位、停止位組成。起始位為低電平,表示串行數(shù)據(jù)開始傳輸,停止位為高電平,表示數(shù)據(jù)傳送結(jié)束。

            UART的結(jié)構(gòu)框圖如圖1所示[3],主要有由波特率發(fā)生器、發(fā)送部分和接收部分等組成。本設(shè)計采用全雙工異步通信的方式,通過層次結(jié)構(gòu)化、劃分模塊的方法來實現(xiàn)。

          UART 的結(jié)構(gòu)框圖

          圖1 UART 的結(jié)構(gòu)框圖

            2.2 UART 核的功能設(shè)計

            2.2.1 波特率發(fā)生器

            波特率是用來實現(xiàn)數(shù)據(jù)接收和發(fā)送的異步,波特率實際上就是分頻器。UART的數(shù)據(jù)接收和發(fā)送是通過對波特率的設(shè)置進(jìn)行實現(xiàn)的,本文采用16分頻[3]。

            2.2.2 接收器模塊設(shè)計

            接收器模塊將8 位串行數(shù)據(jù)并行發(fā)出,用loadbuf 信號來裝載八位串行數(shù)據(jù)。接收8位串行數(shù)據(jù)之前先要判斷起始位;當(dāng)起始位到來后經(jīng)過5個clk16x采樣,使采樣點接近中央位置,這樣數(shù)據(jù)穩(wěn)定。然后每過16個時鐘clk16x后,將8位串行數(shù)據(jù)逐位接收進(jìn)來。當(dāng)數(shù)據(jù)接收完畢,檢查是否到達(dá)停止位,若是則表示接收成功,否則出現(xiàn)幀錯誤(framing_err), 并重新檢測等待。當(dāng)數(shù)據(jù)接收完畢后,等待數(shù)據(jù)的并行發(fā)出,當(dāng)中斷信號(rask)有效時發(fā)送數(shù)據(jù)。

            接收數(shù)據(jù)停止位的判斷采用9位移位寄存器(shift_reg)來實現(xiàn)。開始時將shift_reg全部置1,當(dāng)16個clk16x到來時候,將串行數(shù)據(jù)從低位到高位逐位地移入到shift_reg的低位到高位。每接收一位數(shù)據(jù)后,判斷是否接收完,由于起始位是最先進(jìn)入shift_reg的,所以當(dāng)數(shù)據(jù)全部接收完后。起始位已經(jīng)進(jìn)入了shift_reg的最后一位,表示數(shù)據(jù)接收完,如果在接收到停止位的邏輯是0,則表示產(chǎn)生幀錯誤(framing_err),等待再次檢測直到停止位為1,表示接收完畢。采用狀態(tài)機(jī)來實現(xiàn)數(shù)據(jù)起始位、停止位的判斷和串行數(shù)據(jù)的接收[4]。

            圖2給出了接收模塊的仿真波形。由波形可以看出,當(dāng)輸入0F0H,并行輸出正確,其中state、reset、clk1x、flag、dout和rbuffer分別是狀態(tài)機(jī)、復(fù)位信號、使異步的時鐘同步、數(shù)據(jù)發(fā)送出去的標(biāo)志、并行數(shù)據(jù)輸出和數(shù)據(jù)緩沖器,而ask、rask和flag是中斷發(fā)送控制,其中rask是控制數(shù)據(jù)發(fā)送。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉