基于USB和FPGA的隨機(jī)數(shù)發(fā)生器驗(yàn)證平臺(tái)
3.6 存儲(chǔ)器模塊
為滿足特殊功能需求,擴(kuò)展了1 Mb的Flash。Flash選用Spansion公司的CMOS多功能器件,型號(hào)為AM29LV010B,采用32引腳的標(biāo)準(zhǔn)TSOP封裝,工作電壓為3 V,8位數(shù)據(jù)寬度。數(shù)據(jù)總線使用D0~D7,地址總線使用A0~A16,其他還有芯片使能信號(hào)CE,輸出使能信號(hào)0E和寫使能信號(hào)WE。它與FPGA芯片引腳的具體連接方式如表2所列。本文引用地址:http://www.ex-cimer.com/article/202456.htm
3.7 其他電路
為保證系統(tǒng)中各個(gè)芯片能夠正常工作,本設(shè)計(jì)在各電壓源都并聯(lián)有0.1μF的退耦電容,并將這些電容擺放在芯片的周圍,濾除高頻雜波。
4 測試與驗(yàn)證
各模塊電路設(shè)計(jì)完成后,經(jīng)Altium Designer09仿真驗(yàn)證,完成了相應(yīng)的PCB版圖設(shè)計(jì),并最終進(jìn)行電路版圖的印刷和元器件焊接,實(shí)現(xiàn)了整個(gè)驗(yàn)證平臺(tái)。
為檢驗(yàn)平臺(tái)工作的正確性,本文對(duì)參考文獻(xiàn)中的隨機(jī)數(shù)發(fā)生器利用VHDL語言進(jìn)行了實(shí)現(xiàn),并在輸出模塊中增加了一個(gè)32位的移位寄存器,每產(chǎn)生32位隨機(jī)數(shù)進(jìn)行一次輸出。最后,將該隨機(jī)數(shù)發(fā)生器及參考文獻(xiàn)中所設(shè)計(jì)的USB控制器與參考文獻(xiàn)中所提供的OC8051 IP核進(jìn)行掛載連接,其掛接原理圖如圖6所示。
掛接完成后,利用QuartusII軟件,將整個(gè)系統(tǒng)以AS下載方式,通過配置芯片EPCS4下載到FPGA板中。由OC8051 IP核控制隨機(jī)數(shù)發(fā)生器模塊進(jìn)行工作,每產(chǎn)生32位隨機(jī)數(shù)時(shí),TRNG向OC8051發(fā)送一個(gè)done信號(hào),OC8051接收32位數(shù)據(jù),并將其分為4個(gè)8位存于4個(gè)特殊功能寄存器(Sp-ecial Function Register,SFR)中,并通過指令MOVX借助累加器將32位數(shù)據(jù)轉(zhuǎn)移至雙端口RAM中。之后進(jìn)行下一32位隨機(jī)數(shù)的產(chǎn)生及傳送,直到運(yùn)行16次后,RAM中所存儲(chǔ)的隨機(jī)數(shù)為512位時(shí),OC8051置sent信號(hào)有效,USB控制器將512位隨機(jī)數(shù)封裝成數(shù)據(jù)包,通過USB收發(fā)器傳送給主機(jī),傳送完成后向OC8051返回一個(gè)state信號(hào),表明傳送結(jié)束。重復(fù)上述過程即可源源不斷地將產(chǎn)生的隨機(jī)數(shù)傳送給主機(jī),由主機(jī)最終完成隨機(jī)數(shù)檢測,檢測結(jié)果表明所接收到的數(shù)據(jù)滿足隨機(jī)數(shù)特性。
在隨機(jī)數(shù)生成系統(tǒng)下載、隨機(jī)數(shù)生成及隨機(jī)數(shù)傳送過程中,整個(gè)平臺(tái)工作正常,表明各模塊電路原理及連接的正確性:
①電壓轉(zhuǎn)換電路連接正確,能為系統(tǒng)提供穩(wěn)定電壓,同時(shí)表明,退耦電容起到了很好的去噪作用;
②下載電路連接正確,能夠?qū)⒊绦蛘_下載到FPGA中;
③復(fù)位電路工作正常,時(shí)鐘電路能給系統(tǒng)提供穩(wěn)定的時(shí)鐘;
④USB收發(fā)器電路連接正確,能正常收發(fā)數(shù)據(jù)。
由此表明,該驗(yàn)證平臺(tái)具有一定的可靠性和穩(wěn)定性,能為隨機(jī)數(shù)發(fā)生器提供一個(gè)良好的驗(yàn)證環(huán)境。
結(jié)語
本文結(jié)合實(shí)際需求,在充分理解FPGA結(jié)構(gòu)原理和元件特性的基礎(chǔ)上,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)小型的FPGA開發(fā)板。它不僅可以作為隨機(jī)數(shù)發(fā)生器的驗(yàn)證平臺(tái),同時(shí)也可為其他基于數(shù)字電路實(shí)現(xiàn)的系統(tǒng)提供服務(wù)。本文所設(shè)計(jì)的開發(fā)板結(jié)構(gòu)比較簡單,故難以滿足大型數(shù)字電路開發(fā)系統(tǒng)的要求,為此,下一步的工作是擴(kuò)展功能模塊,設(shè)計(jì)更多的外圍擴(kuò)展電路,滿足更高的實(shí)驗(yàn)需求。
評(píng)論