iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
自我挑戰組

System Software Introduction系列 第 17

The Hardware Platform of System Software – Real Target

  • 分享至 

  • xImage
  •  

我們在前一天介紹simulator,但simulator並非萬能,它效能與模擬範圍有限。所以我們今天會介紹hardware platform- real target FPGA/ASIC,可以提供更完整的功能與更快的執行速度。

What is Real Target (FPGA & ASIC)

常見的真實的硬體
FPGA: 一種利用bitfile檔案描述硬體邏輯的裝置,置換bitfile可以改變邏輯 (例如: CPU內的AI加速器)
ASIC: 實際向晶圓廠投片製造出來的晶片,沒有辦法改變邏輯 (例如: AMD Ryzen)

Why FPGA/ASIC is Needed

  • 模擬器的硬體資源需求大、效率差
    模擬器要模擬真實硬體般每個cycle平行執行的工作,需要非常大量的CPU和RAM,System software的測試在測試變得更複雜、參與的developers變多時,需要準備更多的硬體才足以應付需求,模擬的時間也會變長,因此在模擬器上能做完的開發與模擬有其極限。
  • 模擬器能正確給出模擬結果,但不能符合真實需求
    模擬器雖然可以給出正確結果,但要在相同時間內運算完成,需耗費大量的CPU與RAM資源,真實的硬體是一顆小chip包含了大部分的功能,不需要大體積與大耗電量。例如: 手機和基地台之間的通訊有時間限制 (hard real-time),模擬器耗費太多時間之後會導致hard real-time工作無法完成,如果要讓模擬器在hard real-time限制下及時完成工作,則需要有大量CPU執行平行運算,但手機體積小耗電低無法提供這種硬體。
  • 模擬器不一定包含了所有設計在內
    模擬器有些時候為了方便或模擬的時間考量,必須捨棄部分真實硬體有的功能,或者只能針對系統中的一部分進行模擬。模擬器雖然是依照真實硬體的設計邏輯模擬,但真實硬體的在實作相同邏輯時可能會造出模擬器沒有的bug,所以軟體仍然需要使用真實硬體才會發現這些問題。

FPGA/ASIC Features

  • 運作的速度快,可以執行複雜的測試
    System software developer在執行DVT, driver test, kernel test的時候,程式內會有大量排列組合去重複測試幾項功能,這些數量繁多的測試在真實硬體上執行可能只需要數秒至數分鐘就完成,但在模擬器上就需要極長時間執行。例如: 1GHz的真實硬體,在RTL simulator上模擬1ms的運作時間大約需要10分鐘的時間,所以複雜的測試只能在真實硬體上執行。
  • Debug難度高
    模擬器是application software,所以可以列出模擬對象硬體的內部狀態,並且可以使用debugger介入模擬器的執行進行行為觀察,但真實的硬體需要透過ICE,才可以在軟體執行的過程當中查看軟體與硬體的狀態,而且能看到的狀況較有限。例如: 只能看到硬體上的control register,但無法直接看到硬體內部的訊號是否異常,如前一天所說,有些在真實硬體上不易找出root cause的問題,會嘗試使用模擬器復現與debug。

我們今天認識real target-FPGA/ASIC,因為real target可以提供更完整的功能、更快的執行速度、執行功能更豐富更複雜的system software,所以system software需要使用real target做後期開發。但real target提供debug資訊的能力較低,所以system software還是會搭配使用simulator進行開發。


上一篇
The Hardware Platform of System Software – Simulator/Emulator
下一篇
The Verification of System Software​ - Compiler Toolchain Correctness Verification​
系列文
System Software Introduction30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言