摘 要:介紹了一種利用EDA技術,在Altera的MAX 7000S系列芯片上實現(xiàn)的偽隨機序列發(fā)生器,為產生低成本的電子系統(tǒng)測試信號提供了一種簡單易行的方法。 關鍵詞:EDA;VHDL;CPLD;偽隨機序列 1 引 言 EDA(Electronic Design Automation,電子設計自動化)是以大規(guī)??删幊踢壿嬈骷娲行∫?guī)模集成電路作為硬件載體,以EDA軟件編程的方式對可編程器件進行電子系統(tǒng)設計的計算機輔助電路設計技術。目前已經(jīng)廣泛應用于電子電路與系統(tǒng)的設計和產品的開發(fā),逐漸取代了傳統(tǒng)的手工硬件電路設計方式。設計的系統(tǒng)具有體積小、重量輕、功耗小、速度快、價格低、可靠性高、設計周期短等優(yōu)點。一個功能完備的EDA設計軟件加上一片普通功能的可編程邏輯芯片就可以構成以前需幾百個集成電路才能構成的電子系統(tǒng)。 目前常用的可編程邏輯器件有CPLD(ComplexProgrammable Logic Device,復雜可編程邏輯器件)和FPGA(Field Programmable Gate Array,現(xiàn)成可編程門陣列)。常用的EDA軟件包括VHDL,Verilog HDL,ABEL等硬件描述語言。其中,VHDL作為IEEE的工業(yè)標準硬件描述語言,又受到眾多EDA工具廠家的支持,在電子工程領域,已成為事實上的通用硬件描述語言。許多主流EDA開發(fā)軟件使用集成設計環(huán)境,支持多種輸入方式,具有綜合、適配、仿真和在系統(tǒng)下載等功能,界面友好,操作方便,功能強大,并與第 三方EDA工具兼容良好。 偽隨機信號在雷達、遙控、遙測、通信加密和無線電測量系統(tǒng)領域有著廣泛的應用。利用VHDL語言進行軟件編程,通過EDA設計軟件對程序編譯、優(yōu)化、綜合、仿真、適配,最后將生成的網(wǎng)表文件配置于制定的目標芯片中,可以實現(xiàn)不同序列長度的偽隨機信號發(fā)生器。 2 偽隨機序列的原理 圖1為4級偽隨機序列產生的邏輯框圖。給寄存器賦除全零外的任何二進制序列作為初始值,當移位時鐘脈沖上升沿到來時,每級寄存器的輸出作為近鄰寄存器的輸入,實現(xiàn)數(shù)值的右移。其中,第4級與第3級的輸出模二加(異或)后移入第1級寄存器。產生一個長度為15個時鐘脈沖周期的二進制偽隨機序列。 對于一個n級的線性反饋移位寄存器所產生的二進制序列而言,把產生的最大長度序列稱為m序列,其長度N=2n-1。不同長度的m序列由不同的線性反饋結構決定,可以用n次本原多項式進行表示: 其中:Ci為第i級的反饋系數(shù),取值為1或0。 表1為部分本原多項式系數(shù),其中列出的整數(shù)表示反饋系數(shù)為1的級數(shù)。 此外,產生相同長度m序列的反饋結構也不是唯一的,由所對應的不同本原多項式?jīng)Q定,其不同本原
3 偽隨機序列發(fā)生器的VHDL實現(xiàn) 偽隨機序列發(fā)生器的外部引腳如圖2所示。CLK為時鐘脈沖,RESET為清零信號,OE為輸出使能端,當RESET和OE都為高電平時,序列跟隨著CLK的節(jié)拍一位一位的從DOUT端輸出。除此之外,該偽隨機序列發(fā)生器最大的特點在于,他能根據(jù)SEL端的選擇信號產生不同長度的M序列,對應的級數(shù)n取值為5~20?;灸軌驖M足各種情況對不同長度偽隨機信號的需要。 根據(jù)偽隨機序列產生的原理,采用行為描述方式用VHDL語言對該邏輯進行硬件描述,程序如下: 4 時序仿真 程序經(jīng)過編譯、優(yōu)化后,就要選擇合適的目標芯片進行綜合、管腳配置。選用Altera公司的MAX7000S系列中的EPM7128S芯片,宏單元數(shù)為128,采用基于E2PROM的在系統(tǒng)可編程結構,系統(tǒng)時鐘頻率可達178 MHz,引腳間5 ns恒定延遲,兼容IEEE標準JTAG邊界掃描測試(BST)界面。我們選用優(yōu)化效率和兼容性優(yōu)秀的綜合器Synplify對程序進行綜合,將綜合生成的網(wǎng)表文件由MAX+Plus II進行仿真,得到如圖3所示的結果。 從圖3中可以看出,時鐘脈沖CLK的周期為20 ns,當模式選擇端SEL的組合信號取值為“0000”時,輸出端DOUT輸出的是5級偽隨機序列,長度N=25-1=31,周期為31×20 ns=620 ns;當SEL取值為“0001”時,DOUT輸出的是6級偽隨機序列,長度為N=26-1=63,周期為63×20 ns=1.26μs。在一個序列周期(長度)內,輸出端的信號是無規(guī)律的,但是,經(jīng)過一段較長時間的觀測,信號仍然是有規(guī)律的。這就是為什么稱為“偽”隨機信號的原因。 5 結 語 本文介紹的偽隨機序列發(fā)生器,與由多個分立元件和集成塊構成的信號發(fā)生器相比,克服了易受溫度變化和電磁干擾影響的缺點,具有功能齊全、性能穩(wěn)定、成本低廉的特點??梢愿鶕?jù)需求隨時調整序列長度以及時鐘脈沖周期,具有較為廣泛的應用功能。他既可以作為信號源單獨使用,也可以作為一個電子系統(tǒng)的測試信號部分,在系統(tǒng)相關辨識中起著非常重要的作用。
參考文獻
[1]潘松,等.VHDL使用教程[M].成都:電子科技大學出版社,2000.
[2]MAX7000 programmable logic device family.Ver.6.6.Altera,2003.6.
[3]QiDa,Yu Cheng.Systemidentification basedon MCUand EDA[J].Proceedings ofthe 2001International Conference on Embedded Systems[M],Beijing,2001:84-87.
[4]張登福,等.偽隨機序列及PLD實現(xiàn)在程序和系統(tǒng)加密中的應用[J].電子技術應用,2000,(6):12.
[5]CPLDdatasheethttp://www.dzsc.com/datasheet/CPLD_1136600.html.
[6]MAX7000Sdatasheethttp://www.dzsc.com/datasheet/MAX7000S_1018714.html.
[7]EPM7128Sdatasheethttp://www.dzsc.com/datasheet/EPM7128S_301040.html.
來源:零八我的愛