基于FPGA數據流控制動(dòng)態(tài)可重構的實(shí)現
基本遺傳算法是通過(guò)某種編碼機制把對象抽象為由特定符號按一定順序排成的串,就像染色體都是由基因排成的串,此處是使用二進(jìn)制編碼,得到的是5 bit二進(jìn)制字符串。程序如下:
2 FPGA基本結構
目前主流FPGA均采用基于SRAM工藝的查找表結構,也有些軍品和宇航級FPGA,采用Flash或熔絲與反熔絲工藝的查找表結構。通過(guò)燒寫(xiě)文件改變查找表內容的方法來(lái)實(shí)現對FPGA的重復配置。
查找表(Look-Up-Table)簡(jiǎn)稱(chēng)為L(cháng)UT,目前FPGA中多使用4輸入的LUT,所以每個(gè)LUT可以看成一個(gè)有4位地址線(xiàn)的RAM。這樣,每輸入一個(gè)信號進(jìn)行邏輯運算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對應的內容,然后輸出。
2.1 多路復用器(Multiplexer)
基于這種4輸入LUT結構的原理,采用了4輸入的復用選擇器,在多路數據傳送過(guò)程中,能夠根據需要將其中任意一路選出,也稱(chēng)多路選擇器或多路開(kāi)關(guān)。本文將控制器產(chǎn)生的5位數據流通過(guò)移位寄存器來(lái)控制4個(gè)輸入端口的選擇,如圖3所示。本文引用地址:http://dyxdggzs.com/article/191232.htm
2.2 移位寄存器(Shift Register)
在數字電路中,通常會(huì )用寄存器存放二進(jìn)制數據或代碼,如圖4所示。Mux的選擇位由控制器產(chǎn)生的數據流經(jīng)緩存后輸出,SelA[1,0],SelB[1,O]分別作用于兩個(gè)多路復用器。移位寄存器中輸出控制多路復用器的控制位如表1所示。
2.3 與非門(mén)
與非門(mén)是組成各種電路的基礎門(mén),可根據需要,用與非門(mén)搭建不同的門(mén),如圖5所示,將不同的與非門(mén)結構實(shí)現與門(mén)或門(mén)等其他功能,實(shí)現動(dòng)態(tài)可重構。
評論