基于USB和FPGA的隨機(jī)數(shù)發(fā)生器驗(yàn)證平臺(tái)
摘要:為了方便基于FPGA實(shí)現(xiàn)的隨機(jī)數(shù)發(fā)生器的驗(yàn)證與演示,以CycloneII FPGA芯片EP2C20Q240C8N為核心,設(shè)計(jì)實(shí)現(xiàn)了隨機(jī)數(shù)發(fā)生器IP核下載與測(cè)試的開發(fā)驗(yàn)證平臺(tái),并詳細(xì)闡述了各模塊的設(shè)計(jì)原理及關(guān)鍵技術(shù)。最后,通過下載運(yùn)行隨機(jī)數(shù)生成系統(tǒng),對(duì)整個(gè)平臺(tái)功能進(jìn)行了檢驗(yàn)。結(jié)果表明,各模塊電路工作正常,平臺(tái)性能穩(wěn)定。
關(guān)鍵詞:FPGA;隨機(jī)數(shù)發(fā)生器;驗(yàn)證平臺(tái)
引言
隨機(jī)數(shù)發(fā)生器是信息安全領(lǐng)域不可或缺的重要組成部分,廣泛應(yīng)用于金融、軍事等信息安全保密通信的電子設(shè)備中。目前,隨著對(duì)RNG體積、功耗、接口方式等要求的提高,設(shè)計(jì)集成化芯片或IP核形式的隨機(jī)數(shù)發(fā)生器成為一種必然。為此,基于純數(shù)字電路實(shí)現(xiàn)的隨機(jī)數(shù)發(fā)生器已成為研究的熱點(diǎn),而FPGA可編程邏輯芯片為此類隨機(jī)數(shù)發(fā)生器的研究提供了良好的開發(fā)環(huán)境。
為方便隨機(jī)數(shù)發(fā)生器IP核的下載、運(yùn)行及測(cè)試,同時(shí)保證產(chǎn)生的隨機(jī)數(shù)能夠快速地傳送給主機(jī)進(jìn)行隨機(jī)性檢測(cè),本文以FPGA芯片為核心,以USB接口為通信接口,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)隨機(jī)數(shù)發(fā)生器的驗(yàn)證平臺(tái)。該平臺(tái)結(jié)構(gòu)簡(jiǎn)單,功能完善,對(duì)于其他特殊應(yīng)用的驗(yàn)證平臺(tái)搭建也具有指導(dǎo)意義。
1 系統(tǒng)硬件結(jié)構(gòu)及工作原理
隨機(jī)數(shù)發(fā)生器驗(yàn)證平臺(tái)主要由CycloneII FPGA芯片EP2C20Q240C8N、與主機(jī)進(jìn)行通信的USB收發(fā)器電路、下載配置芯片EPCS4、頻率為48 MHz的時(shí)鐘源芯片、外部存儲(chǔ)器(Flash)、兩個(gè)電壓轉(zhuǎn)換電路、復(fù)位電路和其他電路組成,如圖1所示。
在每次實(shí)驗(yàn)演示時(shí),將該芯片通過USB口與PC機(jī)相連,由主機(jī)為平臺(tái)提供5 V電源,當(dāng)與主機(jī)連通后系統(tǒng)上電,復(fù)位電路進(jìn)行工作,對(duì)整個(gè)系統(tǒng)進(jìn)行復(fù)位。以QuartusII 7.2為開發(fā)環(huán)境,采用ByterBlsterII下載電纜,通過JTAG下載口或以AS下載方式,通過配置芯片EPCS4將隨機(jī)數(shù)發(fā)生器系統(tǒng)下載到實(shí)驗(yàn)平臺(tái)中,最終通過USB口連接主機(jī)與平臺(tái)進(jìn)行信息交互。由主機(jī)向系統(tǒng)發(fā)送命令,在系統(tǒng)控制下,產(chǎn)生的隨機(jī)數(shù)通過USB收發(fā)器傳送給主機(jī),主機(jī)接收數(shù)據(jù)后進(jìn)行隨機(jī)性的各項(xiàng)檢測(cè)。
2 核心器件和關(guān)鍵技術(shù)
2.1 FPGA芯片EP2C20Q240C8N
EP2C20Q240C8N芯片是A1tera CyeloneII系列產(chǎn)品中的一員,它采用TSMC1.2 V、90 nm和低電介絕緣工藝技術(shù),由12英寸(300 mm)晶圓制成,具有潛在速度方面的極大優(yōu)勢(shì)。
評(píng)論