一種基于CPLD的偽隨機序列發生器
發布時間:2007/8/28 0:00:00 訪問次數:1124
摘 要:介紹了一種利用EDA技術,在Altera的MAX 7000S系列芯片上實現的偽隨機序列發生器,為產生低成本的電子系統測試信號提供了一種簡單易行的方法。
關鍵詞:EDA;VHDL;CPLD;偽隨機序列
1 引 言
EDA(Electronic Design Automation,電子設計自動化)是以大規模可編程邏輯器件替代中小規模集成電路作為硬件載體,以EDA軟件編程的方式對可編程器件進行電子系統設計的計算機輔助電路設計技術。目前已經廣泛應用于電子電路與系統的設計和產品的開發,逐漸取代了傳統的手工硬件電路設計方式。設計的系統具有體積小、重量輕、功耗小、速度快、價格低、可靠性高、設計周期短等優點。一個功能完備的EDA設計軟件加上一片普通功能的可編程邏輯芯片就可以構成以前需幾百個集成電路才能構成的電子系統。
目前常用的可編程邏輯器件有CPLD(ComplexProgrammable Logic Device,復雜可編程邏輯器件)和FPGA(Field Programmable Gate Array,現成可編程門陣列)。常用的EDA軟件包括VHDL,Verilog HDL,ABEL等硬件描述語言。其中,VHDL作為IEEE的工業標準硬件描述語言,又受到眾多EDA工具廠家的支持,在電子工程領域,已成為事實上的通用硬件描述語言。許多主流EDA開發軟件使用集成設計環境,支持多種輸入方式,具有綜合、適配、仿真和在系統下載等功能,界面友好,操作方便,功能強大,并與第 三方EDA工具兼容良好。
偽隨機信號在雷達、遙控、遙測、通信加密和無線電測量系統領域有著廣泛的應用。利用VHDL語言進行軟件編程,通過EDA設計軟件對程序編譯、優化、綜合、仿真、適配,最后將生成的網表文件配置于制定的目標芯片中,可以實現不同序列長度的偽隨機信號發生器。
2 偽隨機序列的原理
圖1為4級偽隨機序列產生的邏輯框圖。給寄存器賦除全零外的任何二進制序列作為初始值,當移位時鐘脈沖上升沿到來時,每級寄存器的輸出作為近鄰寄存器的輸入,實現數值的右移。其中,第4級與第3級的輸出模二加(異或)后移入第1級寄存器。產生一個長度為15個時鐘脈沖周期的二進制偽隨機序列。
對于一個n級的線性反饋移位寄存器所產生的二進制序列而言,把產生的最大長度序列稱為m序列,其長度N=2n-1。不同長度的m序列由不同的線性反饋結構決定,可以用n次本原多項式進行表示:
其中:Ci為第i級的反饋系數,取值為1或0。
表1為部分本原多項式系數,其中列出的整數表示反饋系數為1的級數。
此外,產生相同長度m序列的反饋結構也不是唯一的,由所對應的不同本原多項式決定,其不同本原
3 偽隨機序列發生器的VHDL實現
偽隨機序列發生器的外部引腳如圖2所示。CLK為時鐘脈沖,RESET為清零信號,OE為輸出使能端,當RESET和OE都為高電平時,序列跟隨著CLK的節拍一位一位的從DOUT端輸出。除此之外,該偽隨機序列發生器最大的特點在于,他能根據SEL端的選擇信號產生不同長度的M序列,對應的級數n取值為5~20。基本能夠滿足各種情況對不同長度偽隨機信號的需要。
根
摘 要:介紹了一種利用EDA技術,在Altera的MAX 7000S系列芯片上實現的偽隨機序列發生器,為產生低成本的電子系統測試信號提供了一種簡單易行的方法。
關鍵詞:EDA;VHDL;CPLD;偽隨機序列
1 引 言
EDA(Electronic Design Automation,電子設計自動化)是以大規模可編程邏輯器件替代中小規模集成電路作為硬件載體,以EDA軟件編程的方式對可編程器件進行電子系統設計的計算機輔助電路設計技術。目前已經廣泛應用于電子電路與系統的設計和產品的開發,逐漸取代了傳統的手工硬件電路設計方式。設計的系統具有體積小、重量輕、功耗小、速度快、價格低、可靠性高、設計周期短等優點。一個功能完備的EDA設計軟件加上一片普通功能的可編程邏輯芯片就可以構成以前需幾百個集成電路才能構成的電子系統。
目前常用的可編程邏輯器件有CPLD(ComplexProgrammable Logic Device,復雜可編程邏輯器件)和FPGA(Field Programmable Gate Array,現成可編程門陣列)。常用的EDA軟件包括VHDL,Verilog HDL,ABEL等硬件描述語言。其中,VHDL作為IEEE的工業標準硬件描述語言,又受到眾多EDA工具廠家的支持,在電子工程領域,已成為事實上的通用硬件描述語言。許多主流EDA開發軟件使用集成設計環境,支持多種輸入方式,具有綜合、適配、仿真和在系統下載等功能,界面友好,操作方便,功能強大,并與第 三方EDA工具兼容良好。
偽隨機信號在雷達、遙控、遙測、通信加密和無線電測量系統領域有著廣泛的應用。利用VHDL語言進行軟件編程,通過EDA設計軟件對程序編譯、優化、綜合、仿真、適配,最后將生成的網表文件配置于制定的目標芯片中,可以實現不同序列長度的偽隨機信號發生器。
2 偽隨機序列的原理
圖1為4級偽隨機序列產生的邏輯框圖。給寄存器賦除全零外的任何二進制序列作為初始值,當移位時鐘脈沖上升沿到來時,每級寄存器的輸出作為近鄰寄存器的輸入,實現數值的右移。其中,第4級與第3級的輸出模二加(異或)后移入第1級寄存器。產生一個長度為15個時鐘脈沖周期的二進制偽隨機序列。
對于一個n級的線性反饋移位寄存器所產生的二進制序列而言,把產生的最大長度序列稱為m序列,其長度N=2n-1。不同長度的m序列由不同的線性反饋結構決定,可以用n次本原多項式進行表示:
其中:Ci為第i級的反饋系數,取值為1或0。
表1為部分本原多項式系數,其中列出的整數表示反饋系數為1的級數。
此外,產生相同長度m序列的反饋結構也不是唯一的,由所對應的不同本原多項式決定,其不同本原
3 偽隨機序列發生器的VHDL實現
偽隨機序列發生器的外部引腳如圖2所示。CLK為時鐘脈沖,RESET為清零信號,OE為輸出使能端,當RESET和OE都為高電平時,序列跟隨著CLK的節拍一位一位的從DOUT端輸出。除此之外,該偽隨機序列發生器最大的特點在于,他能根據SEL端的選擇信號產生不同長度的M序列,對應的級數n取值為5~20。基本能夠滿足各種情況對不同長度偽隨機信號的需要。
根