專(zhuān)利名稱(chēng):基于fpga的雙精度混沌信號(hào)發(fā)生器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及高精度數(shù)字信號(hào)處理與數(shù)字圖像加密領(lǐng)域,具體說(shuō)來(lái)就是一種符合IEEE-754標(biāo)準(zhǔn)的、利用現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)設(shè)計(jì)的具有雙精度浮點(diǎn)數(shù)的Lorenz雙渦卷混沌信號(hào)發(fā)生器。
背景技術(shù):
信息安全技術(shù)是一門(mén)綜合的學(xué)科,它涉及信息論、計(jì)算機(jī)科學(xué)、密碼學(xué)和數(shù)學(xué)等多方面知識(shí),它的主要任務(wù)是研究計(jì)算機(jī)系統(tǒng)和通信網(wǎng)絡(luò)內(nèi)的信息保護(hù)方法以實(shí)現(xiàn)系統(tǒng)內(nèi)信息交流的安全、保密、真實(shí)和完整。其核心問(wèn)題之一其實(shí)就是密碼學(xué)理論,而密碼學(xué)已經(jīng)成為信息安全方面的一個(gè)難點(diǎn)也是熱點(diǎn)課題。密碼學(xué)可以說(shuō)是一門(mén)比較古老但又擁有年輕血液的學(xué)科,早在幾千年前它就用于國(guó)家之間機(jī)密信息的交流。從古至今,密碼學(xué)隨著科技手段的發(fā)展都保持著蓬勃的生機(jī),在信息爆炸的當(dāng)今社會(huì),加密技術(shù)的研究顯得尤為重要。混沌系統(tǒng)是一種非線性的確定性系統(tǒng),由于系統(tǒng)內(nèi)部非線性相互作用而表現(xiàn)出了非周期的行為。混沌的許多特性恰好能夠滿(mǎn)足密碼學(xué)的基本要求:混沌動(dòng)力學(xué)方程的確定性保證了通信雙方在收發(fā)過(guò)程和解密過(guò)程中的可靠性;混沌軌道的發(fā)散特性及對(duì)初始條件的敏感性正好滿(mǎn)足密碼系統(tǒng)設(shè)計(jì)的擴(kuò)散原則;混沌吸引子的拓?fù)鋫鬟f性與混合性正好滿(mǎn)足混淆原則;混沌輸出信號(hào)的寬帶功率譜和快速衰減的自相關(guān)性是對(duì)抗頻譜分析的有利保障。因此混沌理論能夠直接用于設(shè)計(jì)密碼算法,這為信息安全理論和加密技術(shù)的發(fā)展提供了新的研究方向,如何實(shí)現(xiàn)混沌系統(tǒng)、產(chǎn)生可控制的混沌信號(hào)成為人們研究的熱點(diǎn)。近年來(lái),隨著各種技術(shù)手段的發(fā)展,人們由最初的模擬電子電路轉(zhuǎn)向利用數(shù)字器件實(shí)現(xiàn)混沌信號(hào)以提高系統(tǒng)構(gòu)建的靈活性,各種數(shù)字化的技術(shù)手段層出不窮。Lorenz混沌信號(hào)發(fā)生器是一種基于最經(jīng)典的雙渦卷混沌吸引子系統(tǒng)一Lorenz混沌吸引子系統(tǒng)的混沌信號(hào)發(fā)生裝置。該混`沌吸引子系統(tǒng)是由美國(guó)氣象學(xué)家Lorenz于1963年提出的,其動(dòng)力學(xué)系統(tǒng)方程如下所示:
Cl)
其中=16,P =45.92,=4。顯然,(I)式是一個(gè)連續(xù)性的系統(tǒng)方程,為了將該連續(xù)系統(tǒng)應(yīng)用于數(shù)字系統(tǒng)中,就必須對(duì)系統(tǒng)進(jìn)行離散化處理。常用的方法是Euler算法,也可以采用Runge-Kutta算法。相比較而言,Euler算法的實(shí)現(xiàn)比較簡(jiǎn)便。離散化后的系統(tǒng)能夠很好的反映原系統(tǒng)的動(dòng)力學(xué)特性,其系統(tǒng)方程如下所示:
(2)
其中增益系數(shù)為:G1= , G2= , G3= , G4=,G5=,G6=,G7=。取0.001,根據(jù)奈奎斯特采樣定理,采樣頻率一定要大于混沌信號(hào)截止頻率的2倍,所以一定要小于某一個(gè)特定的閾值。取得越小,離散系統(tǒng)就越能精確反映連續(xù)系統(tǒng)的混沌動(dòng)態(tài)特性。如果取得太大,將無(wú)法得到正確的仿真結(jié)果。此外,混沌系統(tǒng)需要選定初始值,混沌電路就像一個(gè)振蕩器,在有一點(diǎn)“擾動(dòng)”的前提下,才會(huì)“起振”,最終才會(huì)進(jìn)入持續(xù)的混沌運(yùn)動(dòng)狀態(tài)。在這里選取=15,=18,=31。根據(jù)學(xué)者們的研究以及實(shí)驗(yàn),還有多組典型的參數(shù)和初始值可以選取,這里不再一一列舉。文獻(xiàn)[I]Mohammed A.Aseeri, Mohamed1.Sobhy.Lorenz chaotic model usingfiled programmable gate array (FPGA).45th Midwest Symposium on Circuits andSystems, 2002.最早提出了利用FPGA技術(shù)實(shí)現(xiàn)Lorenz混沌系統(tǒng)的方法,文獻(xiàn)[2]張鈺,禹思敏,劉明華.用FPGA技術(shù)產(chǎn)生多渦卷超混沌吸引子的研究[J].電路與系統(tǒng)學(xué)報(bào),2007, 12(1):39-43等采用DSP Builder技術(shù)以實(shí)現(xiàn)各種多渦卷超混沌吸引子,圖1就是采用DSP Builder技術(shù)在Simulink中建立的26位精度的Lorenz雙潤(rùn)卷混沛吸引子的模型。DSP Builder是Altera公司和Mathworks公司合作開(kāi)發(fā)的一款FPGA設(shè)計(jì)工具,該工具可以將系統(tǒng)表不成一個(gè)高度抽象的模塊,并自動(dòng)將系統(tǒng)映射為一個(gè)基于FPGA的硬件方案。DSP Builder是內(nèi)嵌在MATLAB的Simulink中進(jìn)行工作的,它以一個(gè)被稱(chēng)為ALTERADSP Builder塊包含在Simulink庫(kù)里,可以把它看成是Simulink的一個(gè)工具包,也就是說(shuō),可以在Simulink建模仿真工具中調(diào)用Altera公司的DSP Builder模塊并根據(jù)需要修改模塊參數(shù),進(jìn)行系統(tǒng)的建模和仿真。除了圖形化的系統(tǒng)建模外,DSP Builder還可以通過(guò)使用Signal Compiler模塊自動(dòng)生成VHDL代碼,自動(dòng)完成大部分的設(shè)計(jì)過(guò)程和仿真,直至把設(shè)計(jì)文件下載至FPGA開(kāi)發(fā)板上。采用DSP Builder技術(shù)具有直觀、方便快捷的優(yōu)點(diǎn),能夠節(jié)省大量人力,縮短研發(fā)周期,但是其主要缺點(diǎn)是不能從根本上解決時(shí)序控制的問(wèn)題,難以實(shí)現(xiàn)混沌同步,這就限制了其在保密通信領(lǐng)域的應(yīng)用。于是,就有學(xué)者回到直接利用FPGA技術(shù)實(shí)現(xiàn)混沌系統(tǒng)的道路上。文獻(xiàn)[3]周武杰,禹思敏.基于IEEE-754標(biāo)準(zhǔn)和現(xiàn)場(chǎng)可編程門(mén)陣列技術(shù)的混沌產(chǎn)生器的設(shè)計(jì)與實(shí)現(xiàn).物理學(xué) 報(bào),2008, 57(8): 4738-4747提出了基于IEEE-754標(biāo)準(zhǔn)的混沌信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)方法。利用FPGA技術(shù)設(shè)計(jì)Lorenz混沌系統(tǒng)的主要設(shè)計(jì)理念在于將整個(gè)系統(tǒng)劃分為若干個(gè)基本功能模塊,主要包括浮點(diǎn)數(shù)乘法器、浮點(diǎn)數(shù)加/減法器、數(shù)據(jù)選擇器等主要模塊。這種方法具有很強(qiáng)的通用性,可以用于各類(lèi)高精度數(shù)字信號(hào)處理系統(tǒng)的設(shè)計(jì)。圖2為利用該方法搭建的雙精度Lorenz混沛信號(hào)發(fā)生器在Alrera公司的Quartus II工具中建立的模型,圖中數(shù)據(jù)選擇器通過(guò)輸入端SEL對(duì)初始值進(jìn)行選擇,浮點(diǎn)數(shù)加法器和浮點(diǎn)數(shù)乘法器級(jí)聯(lián)得到一次迭代運(yùn)算結(jié)果。這種利用FPGA技術(shù)設(shè)計(jì)混沌信號(hào)發(fā)生器的方法能夠很好的解決時(shí)序控制問(wèn)題,為混沌同步的應(yīng)用掃清了障礙,但是該方法占用FPGA邏輯資源較多,這就使得其在有限芯片面積上無(wú)法集成更多功能,限制了設(shè)計(jì)的應(yīng)用范圍,同時(shí)提高了實(shí)際工程應(yīng)用的成本。針對(duì)上述缺陷,文獻(xiàn)[4]劉玉民,張雨虹,姚明林,基于FPGA的混沌信號(hào)發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn).計(jì)算機(jī)工程與設(shè)計(jì),2010, 31 (18): 3972-3974提出了一種采用面積優(yōu)化思想,復(fù)用耗費(fèi)邏輯資源較多的浮點(diǎn)運(yùn)算模塊的方案,基于Altera EP1C3T144C8芯片(僅含有2910個(gè)邏輯單元)成功設(shè)計(jì)并實(shí)現(xiàn)了單精度Lorenz混沌信號(hào)發(fā)生器。該方案將整個(gè)系統(tǒng)劃分為若干個(gè)基本功能模塊,主要包括浮點(diǎn)乘法器、浮點(diǎn)加/減法器、數(shù)據(jù)選擇器、數(shù)據(jù)分配器、時(shí)序控制模塊和數(shù)值轉(zhuǎn)換模塊等主要模塊。采用數(shù)據(jù)選擇器來(lái)復(fù)用浮點(diǎn)數(shù)運(yùn)算器,采用數(shù)據(jù)分配器對(duì)浮點(diǎn)乘法、浮點(diǎn)加/減法運(yùn)算結(jié)果進(jìn)行分配,使其分配到相應(yīng)的數(shù)據(jù)寄存器進(jìn)行寄存。采用利用狀態(tài)機(jī)編寫(xiě)的時(shí)序控制模塊為浮點(diǎn)乘法器、浮點(diǎn)加/減法器、數(shù)據(jù)選擇器、數(shù)據(jù)分配器等模塊提供時(shí)序控制信號(hào),根據(jù)所進(jìn)行的13次浮點(diǎn)數(shù)運(yùn)算,將系統(tǒng)劃分為13個(gè)工作周期也即是13個(gè)狀態(tài),以協(xié)調(diào)各模塊有序工作。該方案的系統(tǒng)架構(gòu)原理如圖3所示,其中Ini_X、Ini_Y、Ini_Z,分別代表混沌系統(tǒng)“起振”所需的初始值,MUX為數(shù)據(jù)選擇單元,用于初始值的選擇及其對(duì)浮點(diǎn)數(shù)運(yùn)算器的復(fù)用,ADD與MULTI分別代表浮點(diǎn)數(shù)加法器與浮點(diǎn)數(shù)乘法器,DEMUTI為數(shù)據(jù)分配單元,對(duì)浮點(diǎn)數(shù)運(yùn)算器運(yùn)算所得的結(jié)果分配到存儲(chǔ)器中,RAM為存儲(chǔ)單元,能夠進(jìn)行數(shù)據(jù)的讀寫(xiě)操作。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種兼顧節(jié)約芯片面積與提高系統(tǒng)的工作頻率兩方面因素的基于FPGA的雙精度混沌信號(hào)發(fā)生器。本發(fā)明為解決上述技術(shù)問(wèn)題所采用的技術(shù)方案是:基于FPGA的雙精度混沌信號(hào)發(fā)生器,采用兩條并行的運(yùn)算支路完成三路信號(hào)的運(yùn)算,其中一條支路以分時(shí)段工作的方式完成兩路信號(hào)的運(yùn)算,另一條支路完成另一路信號(hào)的運(yùn)算;信號(hào)發(fā)生器包括時(shí)序控制單元、數(shù)據(jù)選擇單元、數(shù)據(jù)存儲(chǔ)單元和兩個(gè)浮點(diǎn)數(shù)運(yùn)算單元,兩個(gè)浮點(diǎn)數(shù)運(yùn)算單元構(gòu)成兩條并行的運(yùn)算支路,時(shí)序控制單元為各單元模塊提供狀態(tài)控制信號(hào);三路信號(hào)的初始值輸入數(shù)據(jù)選擇單元,數(shù)據(jù)存儲(chǔ)單元輸出三路信號(hào)的運(yùn)算結(jié)果,并將運(yùn)算結(jié)果反饋至數(shù)據(jù)選擇單元,數(shù)據(jù)選擇單元用于將三路信號(hào)的初始值以及由數(shù)據(jù)存儲(chǔ)單元反饋的三路信號(hào)運(yùn)算結(jié)果分配至兩個(gè)浮點(diǎn)數(shù)運(yùn)算單元;每個(gè)浮點(diǎn)數(shù)運(yùn)算單元中都設(shè)有一個(gè)數(shù)據(jù)分配單元、一個(gè)浮點(diǎn)數(shù)加法器、一個(gè)浮點(diǎn)數(shù)乘法器和一個(gè)具有數(shù)據(jù)分配的功能的存儲(chǔ)單元,數(shù)據(jù)分配單元將輸入的信號(hào)分配至浮點(diǎn)數(shù)加法器和浮點(diǎn)數(shù)乘法器,浮點(diǎn)數(shù)加法器和浮點(diǎn)數(shù)乘法器的運(yùn)算結(jié)果傳入存儲(chǔ)單元,存儲(chǔ)單元根據(jù)當(dāng)前狀態(tài)將運(yùn)算結(jié)果存入結(jié)果分配到相應(yīng)的地址進(jìn)行暫存或者從相應(yīng)地址讀出數(shù)據(jù)傳回?cái)?shù)據(jù)分配單元。本發(fā)明的技術(shù)方案是這樣形成的:
Cl)離散化后的Lorenz系統(tǒng)方程如下:
文獻(xiàn)[4]中運(yùn)用了面積優(yōu)化的思想,相當(dāng)于將Lorenz系統(tǒng)的X,y, z三路信號(hào)放入一條線路中進(jìn)行傳輸,也就是說(shuō),該條傳輸線路分時(shí)段進(jìn)行工作,就相當(dāng)于是將這條線路的使用時(shí)間進(jìn)行分段,不同時(shí)間單獨(dú)地用于單一信號(hào)的運(yùn)算,并將結(jié)果暫存,最后再統(tǒng)一輸出。這就相當(dāng)于將完整的一份工作劃分為三部分,由一個(gè)人去完成,當(dāng)每一部分都完成的時(shí)候,這份工作才算結(jié)束,這樣由單人完成這份工作顯然是很費(fèi)時(shí)的,體現(xiàn)在系統(tǒng)中,就是硬件的工作速度不高。通過(guò)運(yùn)用流水線技術(shù)的原理,聯(lián)系到Lorenz系統(tǒng)是由X,y, z三相信號(hào)構(gòu)成,并且在一次完整的混沌迭代運(yùn)算中互不影響的特點(diǎn),本發(fā)明將系統(tǒng)架構(gòu)由單條信號(hào)通路改為多條并行支路的結(jié)構(gòu),將完整的工作劃分為幾塊,交給多個(gè)人去完成,這就節(jié)省了時(shí)間,也就是提高了系統(tǒng)的工作速度。(2)通過(guò)比較X,y, z每一路信號(hào)所進(jìn)行的浮點(diǎn)運(yùn)算次數(shù)發(fā)現(xiàn),X分量進(jìn)行了三次浮點(diǎn)運(yùn)算,I分量進(jìn)行了六次浮點(diǎn)運(yùn)算,z分量進(jìn)行了四次浮點(diǎn)運(yùn)算。如果直接按照形式上有三種信號(hào)就將系統(tǒng)劃分為三條并行支路的話,就會(huì)產(chǎn)生這樣的結(jié)果:x支路和z支路由于進(jìn)行的浮點(diǎn)運(yùn)算次數(shù)遠(yuǎn)少于I支路(3〈6,4〈6),所以,當(dāng)X支路和z支路的運(yùn)算結(jié)果得出以后,y支路還沒(méi)有運(yùn)算完成,y支路的工作周期遠(yuǎn)多于X支路和z支路,這就相當(dāng)于同樣的條件下分給每個(gè)人的工作份額不均衡。反映在硬件系統(tǒng)上,就是說(shuō)X支路和Z支路上的邏輯單元在y支路還在工作著的時(shí)候就被閑置了,這從時(shí)間的角度上造成了芯片面積的浪費(fèi)。又進(jìn)一步考慮到3+4=7,進(jìn)行七次浮點(diǎn)運(yùn)算與進(jìn)行六次浮點(diǎn)運(yùn)算相差的工作周期并不多,于是,本發(fā)明參考時(shí)分復(fù)用原理采取了將X支路與z支路進(jìn)行合并的策略,這樣就將系統(tǒng)改為兩條并行支路的架構(gòu)。本發(fā)明的有益效果是:首先,相比較文獻(xiàn)[3],本方案由于僅采用2個(gè)浮點(diǎn)數(shù)加法器和2個(gè)浮點(diǎn)數(shù)乘法器,控制部分與RAM占用邏輯單元很少,所以最多能節(jié)約7個(gè)浮點(diǎn)數(shù)乘法器和2個(gè)浮點(diǎn)數(shù)加法器的邏輯單元(文獻(xiàn)[3]中僅9個(gè)浮點(diǎn)數(shù)加法器器和4個(gè)浮點(diǎn)數(shù)乘法器就占用1399 X 8+697 X 5=16076個(gè)邏輯單元),大大減少了實(shí)現(xiàn)相同功能所占用的芯片面積。其次,與文獻(xiàn)[4]中僅考慮面積優(yōu)化的方案不同,雖然本方案相比多使用了一個(gè)浮點(diǎn)數(shù)加法器和一個(gè)浮點(diǎn)數(shù)乘法器,但是通過(guò)合理使用流水線技術(shù),在工作頻率方面,經(jīng)初步估算,本方案設(shè)計(jì)的混沌信號(hào)發(fā)生器能夠達(dá)到文獻(xiàn)[4]中的2倍左右,拉近了與文獻(xiàn)[3]中系統(tǒng)工作頻率的距離(按照工作周期部分浮點(diǎn)數(shù)運(yùn)算所用的周期算本方案工作頻率大概在文獻(xiàn)[3]的1/7左右,高于文獻(xiàn)[4]的1/13)。
圖1是現(xiàn)有技術(shù)中利用DSP Builder技術(shù)設(shè)計(jì)Lorenz混沌信號(hào)發(fā)生器的系統(tǒng)模型。圖2是現(xiàn)有技術(shù)中利用FPGA技術(shù)設(shè)計(jì)Lorenz混沌信號(hào)發(fā)生器的系統(tǒng)結(jié)構(gòu)模塊圖。圖3是現(xiàn)有技術(shù)中基于面積優(yōu)化思想的Lorenz混沌信號(hào)發(fā)生器原理框架。圖4是本發(fā)明雙精度Lorenz混沌信號(hào)發(fā)生器系統(tǒng)的原理框架。圖5是本發(fā)明浮點(diǎn)數(shù)運(yùn)算單元內(nèi)部原理框架。圖6是本發(fā)明雙精度Lorenz混沌信號(hào)發(fā)生器的系統(tǒng)結(jié)構(gòu)模塊圖。圖7是本發(fā)明雙精度Lorenz混沌信號(hào)發(fā)生器內(nèi)部浮點(diǎn)運(yùn)算單元模塊圖。圖8是浮點(diǎn)數(shù)運(yùn)算單元工作時(shí)序狀態(tài)圖。
具體實(shí)施例方式為使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面附圖,進(jìn)一步闡明本發(fā)明。本發(fā)明的原理框圖如圖4所示,Ini_X、Ini_Y、Ini_Z,分別代表混沌系統(tǒng)“起振”所需的初始值;MUX為數(shù)據(jù)選擇單元,用于初始值的選擇及其對(duì)兩路并行支路中的復(fù)用;FPU為浮點(diǎn)數(shù)運(yùn)算單元;RAM1為數(shù)據(jù)存儲(chǔ)單元,能夠進(jìn)行數(shù)據(jù)的讀寫(xiě)操作。其中兩個(gè)浮點(diǎn)數(shù)運(yùn)算單元FPU構(gòu)成兩條并行的運(yùn)算支路。采用利用狀態(tài)機(jī)編寫(xiě)的時(shí)序控制單元為各單元模塊提供狀態(tài)控制信號(hào)。本發(fā)明采用兩條并行的運(yùn)算支路完成X、Y、Z三路信號(hào)的運(yùn)算,其中一條支路以分時(shí)段工作的方式完成X、Z兩路信號(hào)的運(yùn)算,即X/Z支路。另一條支路完成另一路信號(hào)Y的運(yùn)算,即Y支路。三路信號(hào)的初始值Ini_X、Ini_Y、Ini_Z輸入數(shù)據(jù)選擇單元MUX,數(shù)據(jù)存儲(chǔ)單元RAMl輸出三路信號(hào)的運(yùn)算結(jié)果X (n+l)、Y (η+1)、Ζ (η+1 ),并將運(yùn)算結(jié)果反饋至數(shù)據(jù)選擇單元MUX,數(shù)據(jù)選擇單元MUX用于將三路信號(hào)的初始值以及由數(shù)據(jù)存儲(chǔ)單元RAMl反饋的三路信號(hào)運(yùn)算結(jié)果分配至兩個(gè)浮點(diǎn)數(shù)運(yùn)算單元FPU。浮點(diǎn)數(shù)運(yùn)算單元并非簡(jiǎn)單的進(jìn)行浮點(diǎn)運(yùn)算,每個(gè)浮點(diǎn)數(shù)運(yùn)算單元中都設(shè)有一個(gè)數(shù)據(jù)分配單元、一個(gè)浮點(diǎn)數(shù)加法器、一個(gè)浮點(diǎn)數(shù)乘法器和一個(gè)具有數(shù)據(jù)分配的功能的存儲(chǔ)單元,其內(nèi)部原理框架如圖5所示,其中,DEMUTI為數(shù)據(jù)分配單元,根據(jù)當(dāng)前狀態(tài)選擇將信號(hào)分配到ADD與MULTI中,ADD與MULTI分別代表浮點(diǎn)數(shù)加法器與浮點(diǎn)數(shù)乘法器,采用浮點(diǎn)數(shù)運(yùn)算的標(biāo)準(zhǔn)算法進(jìn)行編寫(xiě),也可以采用新的改進(jìn)算法以提高浮點(diǎn)數(shù)運(yùn)算器的工作速度,還可以使用Quartus II工具中的MegaFunction功能進(jìn)行定制,自動(dòng)生成代碼以縮短開(kāi)發(fā)周期。此處的RAM2不同于圖4中的RAMl,它能夠根據(jù)當(dāng)前狀態(tài)完成將ADD與MULTI的運(yùn)算結(jié)果分配到相應(yīng)的地址進(jìn)行暫存或者從相應(yīng)地址讀出數(shù)據(jù)傳回DEMUTI的操作,也就是說(shuō)相當(dāng)于集成了數(shù)據(jù)分配的功能。工作時(shí)序狀態(tài)圖8所示。如圖6所示,其為按照原理圖4在Quarrus II軟件中生成的模塊圖,通過(guò)輸入端SEL控制對(duì)“起振”初始值的選擇,輸入端RST進(jìn)行復(fù)位,輸入端CLK外接晶振,作為系統(tǒng)時(shí)鐘。運(yùn)算結(jié)果通過(guò)輸出端X(n+l)、Y(n+l)、Z(n+l)送入DAC芯片中,最后得到雙渦卷吸引子的相圖。圖中fp_mux模塊、fpu模塊、ram模塊與原理圖4中MUX、FPU、RAM1模塊——對(duì)應(yīng),實(shí)現(xiàn)技術(shù)方案中所述功能。圖7為浮點(diǎn)運(yùn)算單元的模塊圖,其中demut1、add、mult1、dmram模塊分別對(duì)應(yīng)原理圖5所示的DEMUT1、ADD、MULT1、RAM2模塊。
權(quán)利要求
1.基于FPGA的雙精度混沌信號(hào)發(fā)生器,其特征在于:采用兩條并行的運(yùn)算支路完成三路信號(hào)的運(yùn)算,其中一條支路以分時(shí)段工作的方式完成兩路信號(hào)的運(yùn)算,另一條支路完成另一路信號(hào)的運(yùn)算;信號(hào)發(fā)生器包括時(shí)序控制單元、數(shù)據(jù)選擇單元(MUX)、數(shù)據(jù)存儲(chǔ)單元(RAMl)和兩個(gè)浮點(diǎn)數(shù)運(yùn)算單元(FPU),兩個(gè)浮點(diǎn)數(shù)運(yùn)算單元(FPU)構(gòu)成兩條并行的運(yùn)算支路,時(shí)序控制單元為各單元模塊提供狀態(tài)控制信號(hào);三路信號(hào)的初始值輸入數(shù)據(jù)選擇單元(MUX),數(shù)據(jù)存儲(chǔ)單元(RAMl)輸出三路信號(hào)的運(yùn)算結(jié)果,并將運(yùn)算結(jié)果反饋至數(shù)據(jù)選擇單元(MUX),數(shù)據(jù)選擇單元(MUX)用于將三路信號(hào)的初始值以及由數(shù)據(jù)存儲(chǔ)單元(RAMl)反饋的三路信號(hào)運(yùn)算結(jié)果分配至兩個(gè)浮點(diǎn)數(shù)運(yùn)算單元(FPU);每個(gè)浮點(diǎn)數(shù)運(yùn)算單元(FPU)中都設(shè)有一個(gè)數(shù)據(jù)分配單元(DEMUTI)、一個(gè)浮點(diǎn)數(shù)加法器(ADD)、一個(gè)浮點(diǎn)數(shù)乘法器(MULTI)和一個(gè)具有數(shù)據(jù)分配的功能的存儲(chǔ)單元(RAM2),數(shù)據(jù)分配單元(DEMUTI)將輸入的信號(hào)分配至浮點(diǎn)數(shù)加法器(ADD)和浮點(diǎn)數(shù)乘法器(MULTI),浮點(diǎn)數(shù)加法器(ADD)和浮點(diǎn)數(shù)乘法器(MULTI)的運(yùn)算結(jié)果傳入存儲(chǔ)單元(RAM2),存儲(chǔ)單元(RAM2)根據(jù)當(dāng)前狀態(tài)將運(yùn)算結(jié)果存入結(jié)果分配到相應(yīng)的地址進(jìn)行暫存或者從相應(yīng)地址讀出數(shù)據(jù)傳回?cái)?shù)據(jù)分配單元(DEMUTI)。
全文摘要
基于FPGA的雙精度混沌信號(hào)發(fā)生器,采用兩條并行的運(yùn)算支路完成三路信號(hào)的運(yùn)算,其中一條支路以分時(shí)段工作的方式完成兩路信號(hào)的運(yùn)算,另一條支路完成另一路信號(hào)的運(yùn)算;信號(hào)發(fā)生器包括時(shí)序控制單元、數(shù)據(jù)選擇單元、數(shù)據(jù)存儲(chǔ)單元和兩個(gè)浮點(diǎn)數(shù)運(yùn)算單元,兩個(gè)浮點(diǎn)數(shù)運(yùn)算單元構(gòu)成兩條并行的運(yùn)算支路,信號(hào)發(fā)生器為個(gè)單元模塊提供狀態(tài)控制信號(hào);每個(gè)浮點(diǎn)數(shù)運(yùn)算單元中都設(shè)有一個(gè)數(shù)據(jù)分配單元、一個(gè)浮點(diǎn)數(shù)加法器、一個(gè)浮點(diǎn)數(shù)乘法器和一個(gè)具有數(shù)據(jù)分配的功能的存儲(chǔ)單元;在大幅減少芯片使用面積的同時(shí),明顯提高了工作頻率。
文檔編號(hào)H04L9/00GK103078729SQ20121000963
公開(kāi)日2013年5月1日 申請(qǐng)日期2012年1月13日 優(yōu)先權(quán)日2012年1月13日
發(fā)明者向菲, 陳曦, 何谷慧, 宋瀟, 栗素娟 申請(qǐng)人:河南科技大學(xué)