【正文】
s or ponents that call be assembled in the target technology. For example, with PLD or CPLD, the synthesis tool may generate twolevel sumofproducts equations .With ASIC, it may generate a Iist of gates and a list that specifies how they should be interconnected. The designer may help the synthesis tool by specifying certain technologyspecific constraints, such as the maximum number of logic levels or the strength of logic buffers to use. 、 11 In the fitting step, a fitting tool or fitter maps the synthesized primitives or ponents onto available ANDOR elements For an ASIC. it may mean laying down individual gates in a pattern and finding ways to connect them within the physical constraints of the ASIC die: this is called the placeandroute process. The designer can usually specify additional constraints at this stage, such as the placement of modules with a chip or the pin assignments of extrnal input and output pins. The final” step is timing verification of the fitted circuit It is only at this stage that the actual circuit delays due to wire lengths, electrical loading, and other factors can be calculated with reasonable precision. It is usual during this step to apply the same test cases that were used in functional verification, but in this step they are run against the circuit as if will actually be built. As in any other creative process, you may occasionally take two steps forword and one step back (or worse!) As suggested in the figure, during coding you may encounter problems that force you to go back and rethink your hierarchy, and you will almost certainly have pilation and simulation errors that force you to rewrite parts of the code. The most painful problems am the ones that you encounter in the back end of the design flow .For example, if the synthesized design doesn39。t meet timing requirements, you may have to go back as far as rethinking your whole design approach. That39。采用Verilog HDL 編程設(shè)計(jì)實(shí)現(xiàn)的數(shù)字頻率計(jì),除被測信號的整形部分、鍵輸入部分和數(shù)碼顯示部分外,其余全部在一片 FPGA 芯片上實(shí)現(xiàn)。 1 等精度測頻原理 頻率的測量方法主要分為 2 種方法 : (1) 直接測量法 , 即在一定的閘門時(shí)間內(nèi)測量被測信號的脈沖個(gè)數(shù)。間接測頻法僅適用測量低頻信號。頻率測量方法的主要測量預(yù)置門控信號 GATE 是由單片機(jī)發(fā)出, GATE 的時(shí)間寬度對測頻精度影響較少,可以在較大的范圍內(nèi)選擇,只要 FPGA中 32 b 計(jì)數(shù)器在計(jì) 100 M 信號不溢出都行,根據(jù)理論計(jì)算 GATE 的時(shí)間寬度 Tc 可以大于 42. 94 s,但是由于單片機(jī)的數(shù)據(jù)處理能力限制,實(shí)際的時(shí)間寬度較少,一般可在 10~ 0. 1 s 間選擇,即在高頻段時(shí),閘門時(shí)間較短;低頻時(shí) 閘門時(shí)間較長。 本設(shè)計(jì)頻率測量方法的主要測量控制框圖如圖 1 所示。 低頻時(shí)閘門時(shí)間較長。 實(shí)現(xiàn)了全范圍等精度測量 , 減少了低頻測量的誤差??珊喕癁?CNT1 和 CNT2 是兩個(gè)可控計(jì)數(shù)器,標(biāo)準(zhǔn)頻率(f )信號從 CN F1 的時(shí)鐘輸入端 cI K 輸入,經(jīng)整形后的被測信號 (f )從 CNT2 的時(shí)鐘輸入端 cI K 輸入。當(dāng)預(yù)置閘門信號為高電平 (預(yù)置時(shí)間開始 )時(shí)。 3 頻率計(jì)的位數(shù)及相關(guān)指標(biāo) 位數(shù):同時(shí)最多能顯示的數(shù)字位數(shù)。對于高精度的測量, 9位剛剛開始, 11 位算中等, 13 位才能算比較高級。有些頻率計(jì)帶有溢出功能,即把最高位溢出不顯示而只顯示后面的位,以便 達(dá)到提高位數(shù)的目的。 速度:即每秒能出多少位。平常計(jì)數(shù)式的 8 位頻率計(jì),測量 10MHz 信號、 1秒閘門能得到 10,000,000Hz,這實(shí)際上才是 7位(位數(shù)等于取常用對數(shù)后的值),要想得到 8位,需要 10 秒閘門;要想得到 9 位,需要 100 秒閘門,依次類推,即便顯示允許, 11 位需要 10000 秒的測量時(shí)間了。因此,要想快速得到高位數(shù)則必須高速度。 1000ps=1ns。而假設(shè)你有另外一個(gè)頻率計(jì)的分辨是 100ps,那么測量時(shí)間就可以縮短 10倍為 100 秒,或者可以在相同的 1000 秒下測量出 1e14的誤差。 Verilog HDL 具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下的設(shè)計(jì)特點(diǎn)。從系統(tǒng)設(shè)計(jì) 入手,在頂層進(jìn)行系統(tǒng)方框圖的劃分和結(jié)構(gòu)設(shè)計(jì),在方框圖一級用 Verilog HDL 對電路的行為進(jìn)行描述,并進(jìn)行仿真和糾錯(cuò),然后在系統(tǒng)一級進(jìn)行驗(yàn)證,最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表,下載到具體的 FPGA 器件中去,從而實(shí)現(xiàn) FPGA、 14 的設(shè)計(jì)。頻率和時(shí)間的測量已越來越受到重視,長度、電壓等參數(shù)也可以轉(zhuǎn)化為與頻率測量有關(guān)的技術(shù)來確定。 最簡單的測量頻率的方法是直接測頻法。在直接測頻的基礎(chǔ)上發(fā)展的多周期同步測量方法,在目前的測頻系統(tǒng)中得到越來越廣泛的應(yīng)用。 1個(gè)字誤差,測量精度大大提高,而且達(dá)到了在整個(gè)測量頻段的等精度測量, 在時(shí)頻測量方法中,多周期同步法是精度較高的一種,但仍然未解決177。 1 個(gè)字的計(jì)數(shù)誤差,從而進(jìn)一步提高精度。 1 個(gè)字的誤差這個(gè)根本問題,而且這些方法設(shè)備復(fù)雜,不利于推廣。 從結(jié)構(gòu)盡量簡單同時(shí)兼顧精度的角度出發(fā),將多周期同步法與基于量化時(shí)延的短時(shí)間間隔測量方法結(jié)合,實(shí) 現(xiàn)了寬頻范圍內(nèi)的等精度高分辨率測量。通過將信號所產(chǎn)生的延時(shí)進(jìn)行量化,實(shí)現(xiàn)了對短時(shí)間間隔的測量。 量化時(shí)延思想的實(shí)現(xiàn)依賴于延時(shí)單元的延時(shí)穩(wěn)定性,其分辨率取決于單位延時(shí)單元的延遲 時(shí)間。其中,導(dǎo)線的延、 15 遲時(shí)間較短 (接近光速傳播的延遲 ),門電路的延遲時(shí)間相對較長。 將短時(shí)間間隔的開始信號送入延時(shí)鏈中傳播,當(dāng)結(jié)束信號到來時(shí),將此信號在延時(shí)鏈中的延時(shí)狀態(tài)進(jìn)行鎖存,通過 CPU 讀取,判斷信號經(jīng)過的延時(shí)單元個(gè)數(shù)就可以得到短時(shí)時(shí)間間隔的大小,分辨率決定于單位延時(shí)單元的延時(shí)時(shí)間。利用多周期同步與量化時(shí)延相結(jié)合的方法,計(jì)算公式為: T=n0t0+n1t1n2t1 上式中, n0 為對填充脈沖的計(jì)數(shù)值; t0 為填充脈沖的周期,即 100ns; n1 為短時(shí)間隔Δ t1 對應(yīng)的延時(shí)單元的個(gè)數(shù); n2 為短時(shí)間隔Δ t2 對應(yīng)的延時(shí)單元的個(gè)數(shù); t1為量化延遲器件延時(shí)單元的延遲量 ()。 由于頻率合成器輸出的頻率信號最小只能調(diào)到 10Hz,把 XDU17 的測量值作為標(biāo)準(zhǔn),可以計(jì)算出樣機(jī)測頻的精度。 前面已經(jīng)分析過,多周期同步法測頻時(shí),它的測量不確定度為: 當(dāng)輸入 f0為 10MHz,閘門時(shí)間為 1s 時(shí),測量的不確定度為177。當(dāng)與量化延時(shí)測量與短時(shí)間間隔電路相結(jié)合時(shí),測量的不確定度可以從下述推導(dǎo)出來。 Tx= NT0+△ t1△ t2 與量化延時(shí)電路相結(jié)合后有: Tx= NT0+(N1N2)td177。 對上式微分得: \δ Tx≤177。所以采用各種方法,計(jì)數(shù)器可在整個(gè)頻率量程內(nèi)實(shí)現(xiàn)等精度的測量,而且測量精度有顯著提高,測量分辨率提高到 ,且消除了177。 結(jié)束語 本文將給出了一種新的測頻方法。 5 頻率計(jì)的 VHDL 設(shè)計(jì) 利用 ALTERA 公司的 FPGA 芯片 EPF10K10,使用 VHDL 編程語言設(shè)計(jì)等精度頻率計(jì),給出核心程序,經(jīng)過 ISPEXPER 仿真后,驗(yàn)證設(shè)計(jì)是 成功的,達(dá)到預(yù)期結(jié)果。 本設(shè)計(jì)采用 AL TERA 公司的 FPGA 芯片 EPF10K10, 該芯片管腳間的延遲為 5 ns, 即頻率為 200MHz, 應(yīng)用標(biāo)準(zhǔn)化的硬件描述語言 VHDL 有非常豐富的數(shù)據(jù)類型 , 他的結(jié)構(gòu)模型是層次化的 , 利用這些豐富的數(shù)據(jù)類型和層次化的結(jié)構(gòu)模型 , 對復(fù)雜的數(shù)字系統(tǒng)進(jìn)行邏輯設(shè)計(jì)并用計(jì)算機(jī)仿真 , 逐步完善后進(jìn)行自動(dòng)綜合生 成符合要求的、在電路結(jié)構(gòu)上可實(shí)現(xiàn)的數(shù)字邏輯 , 再下載到可編程邏輯器件中 , 即可完成設(shè)計(jì)任務(wù)?;?VHDL 的設(shè)計(jì)過程有幾個(gè)步驟,通常稱為設(shè)計(jì)流程。 、 17 前 端 步 驟 (雖然是痛苦的,但是很平常 ) 后 (很痛苦的 !) 端 步 驟 圖 HDL的設(shè)計(jì)流程步驟 所謂的“前端”步驟,就是從方框圖層次上寫出基本方法和結(jié)構(gòu)快。 下一步是實(shí)際寫出模塊,界面,及其內(nèi)部細(xì)節(jié)的 VHDL 代碼。然而,大多數(shù)設(shè)計(jì)環(huán)境包括特別的 VHDL 文本編輯器,使得工作更簡單些。 一旦寫出某個(gè)代碼,你就想編譯它, VHDL 語法編譯器會(huì)分析你的代碼有沒有語法錯(cuò)誤,并檢查它與其它模塊的兼容性。像其它編程工作一樣,你可能不想等到所有的代碼編譯完。 下一步是模擬,這也許是最滿意的步驟, VHDL 模擬器允許你定義輸入并應(yīng)用到設(shè)計(jì)中去,同時(shí)觀察輸出而不必建立物理電路。 實(shí)際上,模擬只是被稱為驗(yàn)證的一部分,當(dāng)然,看到模擬的電路產(chǎn)生輸出是令人滿 意的,但模擬的目的要更高些,它要驗(yàn)證電路是否按預(yù)期的那樣工作。 在這個(gè)步驟如能找出設(shè)計(jì)上的問題,是分層 /方塊圖 擬合 /布局 +布線 編碼 定時(shí)驗(yàn)證 綜合 模擬 /檢驗(yàn) 編譯 、 18 很有用的, 如果在以后才找到問題,則通常必須重新做所有的“后端 “步驟 。在功能驗(yàn)證中,主要研究不考慮定地條件下的邏輯操作,門延遲和其它定時(shí)參數(shù)都讓認(rèn)為是零。按慣例,在開始“后端”步驟前,要充分做好功能驗(yàn)證。我們可以做些初步的定時(shí)驗(yàn)證,以 獲得全部設(shè)計(jì)過程中的一些安慰,但具體的定時(shí)驗(yàn)證必須到最后才能做。這一步驟的性質(zhì)和用到得工具,依據(jù)設(shè)計(jì)的目標(biāo)技術(shù)會(huì)有些不同,但仍可分為三個(gè)基本的步驟。例如,用 PLD 或者 CPLD,綜合工具可產(chǎn)生兩極“與 或”等式,用 ASIC 將產(chǎn)生一個(gè)門電路的列表以及一個(gè)網(wǎng)表,用來指定門之間的如何互聯(lián)。 在擬合步驟,擬合工具將被綜合的原始或元件映射到可得到的器件資源上。對于 ASIC,它可能意味著以一定模式放置各個(gè)門,并找出在 ASIC 模片的物理約束條件,各個(gè)門的連接方法,這稱為布局與布線。 “最后”的步驟是被擬合的電路 的定時(shí)驗(yàn)證 ,只有在這一步,由于邊線長度,電氣負(fù)載其他因素引起的時(shí)基電路延遲,才以合適的精度進(jìn)行計(jì)算。 跟任何其它創(chuàng)造性過程一樣,你可 能會(huì)偶爾前進(jìn)在后退半步(或者更糟)。 最痛苦的問題是在設(shè)計(jì)流程的后端遇到的。值得記住的是:出色的工具并不能代替設(shè)計(jì)之初的