|
勇敢的芯伴你玩轉Altera FPGA連載27: 內里本質探索——器件結構 中 特權同學,版權所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1i5LMUUD
接下來我們再了解一下器件中最小的功能單元LEs的內部結構。如圖3.22所示,這是在Cyclone IV器件內部一個完整的LEs的內部結構。詳細的各個模塊以及功能介紹大家可以去研究Cyclone IV的器件手冊,簡單的來看,有幾樣核心的東西是必須知道的。
圖3.22 LEs內部結構 在圖3.22右上方的ProgrammableRegister想必大家一定很眼熟,沒有錯,它正是我們在前文大書特書的寄存器,這可是實實在在存在著的,它的功能也大體和前面介紹的D觸發器別無二致。再看左側,有個4輸入的查找表(Look-Up table,LUT),別小看它,功能可強大了,前面的各種邏輯門需要實現的輸入輸出關系大多時候是通過這個LUT來實現的。此外,還有一些諸如進位鏈(Carrychain)是用來協助實現運算功能的;異步清除邏輯(AsynchronousClear Logic)和時鐘或時鐘使能選擇(Clock & ClockEnable Select)功能則用于寄存器的一般控制;各種布線(Routing)連接則是用于實現該LEs與外部互連功能。總之,這個結構幾乎可以滿足大多數的邏輯電路需求,當然了,并非這么個結構框架里的所有東西在每個電路實現中都能派上用場。正所謂“可編程”(Programmable),設計者所需要實現的電路會根據具體的情況來開啟或關閉各個模塊的使用或連接。 通常Cyclone IV器件的LEs結構在實際應用中為了達到功能的最優化,會被作為正常模式(Normal Mode)或動態算術模式(DynamicArithmetic Mode)使用。兩種模式對LEs資源的使用有所不同,最大的區別在于正常模式下配置為1個4輸入查找表,而算術模式下則配置為2個2輸入查找表,這樣更便于實現一個2bit的全加器和進位鏈。總之大家記住一個點,各種運算用算術模式實現是最佳的選擇,其他情況下一般是正常模式來實現,而到底用哪種模式來實現也不用設計者操心,Quartus II軟件會自動判斷和優化,咱只要知道有這么一回事就好。我們看圖3.23,這是正常模式下的LEs結構,相比于完整的LEs結構,少了好多功能塊。
圖3.23 正常模式下的Les |