fpga的基礎知識點?(一)知識點一、常用名詞解釋,下面我們就來說一說關于fpga的基礎知識點?我們一起去了解并探讨一下這個問題吧!
(一)知識點一、常用名詞解釋
(1)FPGA(Fied Programmable Gate Array),現場可編程門陣列,它是在PLA、GAL、CPLD等可編程器件的基礎上進一步發展的産物。它是作為專用集成電路ASIC領域中出現的一種半定制電路而出現的。既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺陷。
(2)ASIC(Application Specific IC)專用集成電路,它是面向專用用途的電路,專門為一個用戶設計和制作的。根據一個用戶的特定要求,能以低研制成本,短交貨周期供貨的全定制,半定制集成電路。
(3)PCI(Peripheral Component Interconnect)外圍組件互連,一種由Interg公司1991年推出的用于定義局部總線的标準。
(4)DDR(Double Data Rate),雙倍速率同步動态随機存儲器。DDR SDRAM,SDRAM(Synchronous Dynamic Random Access Memory),同步動态随機存儲器。
(5)USB(Universal Serial Bus),通用串行總線,一個外部總線标準,用于規範電腦與外部設備的連接和通訊。
(6)BIOS(Basic Input Output System),基本輸入輸出系統,它是一組固化到計算機内主闆上一個ROM芯片上的程序,保存着計算機最重要的基本輸入輸出的程序、系統配置信息、開機後自檢程序和系統自啟動程序。主要功能是為計算機提供最底層、最直接的硬件設置和控制。
(7)IRQ(Interrupt Request),中斷請求,功能是在所使用的電腦中,執行硬件中斷請求的動作,用來停止其相關硬件的工作狀态。
(8)DSP(Digital Signal Processor)是一種獨特的微處理器,是以數字信号來處理大量信息的器件。工作原理是接收模拟信号,轉換為0或1的數字信号,再對數字信号進行修改、删除、強化,并在其他系統芯片中把數字數據解譯回模拟信号或者實際環境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數以千萬條複雜指令程序,遠遠超過通用微處理器,是數字化電子世界中日益重要的電腦芯片。它的強大數據處理能力和高運行速度, 最值得稱道的兩大特色。
(9)MCU(Micro Controller Unit),微控制單元,單片機,指随着大規模集成電路的出現及其發展,将計算機的CPU、RAM、ROM、定時數計時器和多種IO接口集成在一片芯片上,形成芯片級的計算機,為不同的應用場合做不同組合控制。
(10)RSIC(Reduced Instruction Set Computer),精簡指令集計算機,是一種執行較少類型計算機指令的微處理器。
(11)CSIC(Complex Instruction Set Computer),複雜指令集計算機,台式計算機系統的基本處理部件,每個微處理器的核心是運行指令的電路。指令由完成任務的多個步驟所組成,把數值傳送進寄存器或進行相加運算。
(二)知識點二、格雷碼、獨熱碼、二進制碼
獨熱碼:獨熱碼的每個狀态隻有1bit是不同的,付出的代價就是狀态變量的位寬需要的就比較多。
二進制編碼:二進制編碼的情況和獨熱碼剛好相反,使用了少量的狀态變量,使之在減少寄存器狀态的同時無法進行比較器部分之間的優化,所以使用的寄存器資源較少,而使用的組合邏輯資源較多。
獨熱碼編碼的狀态機可以在高速系統上運行,因為是多比特的比較器每個比特到達比較器的時間可能會因為布局布線的走線長短而導緻路徑延時的不同,這樣在高速系統下就會導緻采集到不穩定的狀态,導緻比較後的結果産生一個時鐘的毛刺,使輸出不穩定,而單比特的比較器不用考慮這個問題。
格雷碼:如果狀态數非常多的話即使是FPGA也吃不消獨熱碼對寄存器的消耗,所以當狀态數特别多的時候可以使用格雷碼對狀态進行編碼。格雷碼雖然也是和二進制編碼一樣使用的寄存器資源少,組合邏輯資源多,但是其相鄰狀态轉換時隻有一個狀态發生翻轉,這樣不僅能消除狀态轉換時由多條信号線的傳輸延遲所造成的毛刺,又可以降低功耗,所以要優于二進制編碼的方式,相當于是獨熱碼和二進制編碼的折中。
(三)知識點三、同步邏輯和異步邏輯
同步邏輯:與時鐘之間有固定的關系的邏輯。
特點:當時鐘脈沖到來時,電路的狀态才能變化。改變後的狀态将一直保持到下一個時鐘脈沖的到來,此時無論外部輸入有無變化,狀态表中的每個狀态都是穩定的。
異步邏輯:與時鐘之間沒有固定的關系的邏輯。
特點:電路中沒有統一的時鐘,電路狀态的改變由外部輸入的變化直接引起。
(四)知識點四、同步電路和異步電路
同步電路:存儲電路中所有觸發器的時鐘輸入端都接同一個時鐘脈沖源,所有觸發器的狀态的變化都與所加的時鐘脈沖信号同步。
異步電路:電路沒有統一的時鐘,有些觸發器的時鐘輸入端與時鐘脈沖源相連,隻有這些觸發器的狀态變化與時鐘脈沖同步,而其他的觸發器的狀态變化不與時鐘脈沖同步。
(五)知識點五、時序設計
時序設計的本質是滿足每一個觸發器的建立、保持時間的要求,從而保證設計的功能
(六)知識點六、建立時間和保持時間
建立時間:觸發器在時鐘上升沿到來之前,其數據輸入端的數據必須保持不變的最小時間
保持時間:觸發器在時鐘上升沿到來之後,其數據輸入端的數據必須保持不變的最小時間
(七)知識點七、亞穩态
亞穩态:觸發器無法在某個規定的時間段内到達一個可以确認的穩定狀态。
單比特的輸入信号,可以使用兩級觸發器來防止亞穩态傳播:
若第一級觸發器的輸入不滿足其建立保持時間,在第一個脈沖沿到來後輸出的數據就為亞穩态;
在下一個脈沖沿到來之前,其輸出的亞穩态數據在一段恢複時間t_1後穩定;
如果輸入端的數據滿足第二級觸發器的建立時間t_set,在下一個脈沖沿到來時,第二個觸發器将不會出現亞穩态現象;
解決方法:①降低系統時鐘頻率;②用反應更快的FF;③引入同步機制,防止亞穩态産生;④改善時鐘質量,用邊沿變化快速的時鐘信号。
(八)知識點八、最快時鐘頻率
T_co:觸發器的輸入端接收輸入數據開始,至數據從觸發器的輸出端發送結束,一個建立時間 一個保持時間, T_co=T_set T_hold。
T_delay:組合邏輯的時延
T_set:異步輸入數據,使用兩級觸發器來防止亞穩态
T_min:最小的時鐘周期,即最快時鐘頻率,T_min > T_co T_delay T_set
(九)知識點九、流水線
目的:為提供芯片的處理速度,由于T_co和T_set隻能由芯片的工藝所決定,可通過流水線調整組合邏輯的時延,達到最快時鐘頻率
流水線設計通過将較大規模的組合邏輯分成多個較小規模的組合邏輯,避免兩個觸發器之間産生較大的延遲,通過增加硬件的面積實現速度的提升。
(十)知識點十、時序約束
時序約束:為保證設計的電路的成功應用,對時序進行約束滿足設計的需求
時序約束包括:周期約束、偏移約束、靜态時序約束三種。通過附加約束可以優化綜合、映射、布線、布局,使設計到達時序要求。
時序約束策略:先附加全局約束,對快慢路徑附加專門約束。
全局約束:定義設計所有的時鐘,對各時鐘域内的同步元件進行分組并附加周期約束,對FPGA的輸入輸出引腳附加偏移約束,對組合邏輯的關鍵路徑附加約束。
(十一)知識點十一、異步信号處理
單bit信号通過兩級觸發器進行異步處理;
多bit信号:①增加握手機制,保持寄存器 握手信号,先異步緩存,通過Vaild Ready的握手機制,同步寫入;②異步fifo/RAM,跨時鐘域處理;③多路選擇器 觸發器,多路選擇器相當于使能信号,兩個時鐘域同步時,多路選擇器有效,接收數據。
(十二)知識點十二、FPGA和CPLD
FPGA:(Field-Programmable Gate Array),現場可編程門陣列,内部結構為門陣列構成靜态存儲器(SRAM)。該SRAM可構成查找表(LUT),通過查找表可實現邏輯函數功能。擁有豐富的觸發器、存儲器資源,用來完成比較複雜的算法,速度快,采用SRAM工藝,外加ROM用于存儲配置信息。
CPLD:(Complex Programmable Logic Device),複雜可編程邏輯器件,是基于乘積項的可編程器件。擁有豐富的組合邏輯電路資源,用來完成邏輯控制,速度慢,采用EEPROM,直接寫入,保密性好。
(十三)知識點十三、時鐘抖動
時鐘抖動是芯片的某一個給定點上時鐘周期發送暫時性變化,時鐘周期在不同的周期上可能加長或縮短。它是一個平均值為0的平均變量。這個誤差是時鐘發生器内部産生的,和晶振或者PLL内部電路有關,布線對其沒有影響。
(十四)知識點十四、時鐘偏移clockshew
時鐘偏移是同步電路中的一種現象,受到布線長度、溫度、電容耦合等因素影響,時鐘信号在不同時間到達不同的時序器件。
正偏斜:當時鐘到達接收寄存器比發送寄存器晚時,會發送正偏移;
負偏斜:當時鐘到達接收寄存器比發送寄存器早時,會發送負偏斜。
(十五)知識點十五、兩種狀态機
Moore狀态機(摩爾狀态機):狀态機的輸出僅與當前狀态值有關,且隻在時序邊沿到來時才會有狀态變化;
Mealy狀态機(米勒狀态機):狀态機的輸出不僅與當前狀态值有關,而且與當前輸入值有關。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!