由于微控制器時鐘速度的加快,調試和校準變得更加地困難。嵌入式仿真設備能夠為汽車電子設計工程師提供高度集成的系統級芯片(SoC)微控制器內部的可視性。
自動代碼生成工具能夠通過基于圖示模型之上的設計生成C代碼。對該工具越來越多的使用可以節省軟件工程投入的時間,但同時也給軟件工程文化帶來巨大的變化。
軟件工程師將現有的模塊組合在一起,建立成一個系統,并對該系統作出檢測。與把定制的模塊寫入一個系統中以滿足系統要求的方法相比,該方法的效率更高。對該通用的模塊化軟件的再利用提高了開發效率和軟件質量。但同樣也導致結構松散,存儲器效率低下,長時間的延遲及將設計過程從硬件中抽象出來。
在不改變基本軟件的情況下,這些系統的性能能夠轉變成不同版本的機械硬件。一般情況下,這是通過將許多校準了的變量包括在內而實現的,因此才能夠在運行期間使能或禁止功能,調整增益,同時在運行時改變查找表。
軟件工程師依靠仿真技術來跟蹤真實系統中的程序流程,關注隨時更新的數據,測量延遲,并且排除邏輯錯誤。但是,在為這些系統除錯時,由于時鐘速度過高,給多內核存儲器系統級芯片的集成帶來了一些挑戰。
設計障礙
嵌入式非易失存儲器的體積持續增大,硅片的幾何形狀持續縮小,使得規模大的系統級芯片微控制器能夠與應用廣泛的高速內部總線連接在一起,并通過這些總線將信息反饋給多個具有高速緩沖存儲器的流水線型內核存儲處理器及協調處理器。該體系同樣能夠使微控制器子系統能夠被集成到更深層次的應用環境。由于存在物理連接問題(有時甚至連一根外部總線都沒有),以及時鐘速度過高、電纜長度及環境溫度等因素,將分析設備集成到深度嵌入式器件的外部總線上的難度很大。
在許多情況下,可通過外部總線察看的外部取數情況并不代表整個程序的流程,因為內部高速緩沖存儲器及流水線能夠對取數做出預測。突發模式閃存同樣由于假定的連續地址增量使得所獲得的數據的解碼變得更加復雜。
連接仿真系統時的首要問題在于連接長度受到限制,因為系統時鐘的速度過高。例如,如果使用一個頻率為150MHz的微控制器,那么,50cm長的連接線造成的傳輸時間延遲大約為2.0ns,但是時鐘周期僅為6.67ns,所以2.0ns的單向延誤時間是相當巨大的。由于在這些高頻率器件中,連接線扮演著傳輸線的角色,并且它們的終接阻抗是無法得到保障的,因此,這看似短暫的時間幾乎妨礙了任何遠離目標器件的控制功能。在這個例子中,想要忽略傳輸線造成的時間上的延遲,線路的最大長度不能超過16cm。所以,在線仿真器(ICE)具有與被測發動機電控單(ECU)相同的環境需求。
Ingineon公司的TC1796產品即為此類系統級芯片實現的一個很好的例子。32位的TriCore中央處理器(CPU)擁有代碼和數據分別獨立的總線,并且通過LFI與系統總線橋接起來,建立起一個與外設子系統相連的數據通道。此外,還有一個通過直接存儲器存取(DMA)與遠端外設總線相連的通道。
外設控制處理器(PCP2)也是一個32位的CPU。同樣的,該處理器也有獨立的通常無法看見的數據和程序總線。該處理器的子系統的最高頻率為150MHz,外設子系統最高頻率為75MHz,因此,它有兩個時鐘區域。該器件被封裝于一個416引腳的球型格柵極陣列封裝中,能夠提供標準的JTAG除錯接口以支持除錯功能。但是,要完全仿真這樣一個微控制器,需要能夠檢驗與外部針腳不相連的許多不同內部總線之間的數據交換。巨大的嵌入式存儲器(2Mb閃存)有廣泛的內部取數路徑(128位)和局部高速緩沖存儲器。因此,內置存儲器的執行比外置(32位存取)存儲器快得多(見下方TC1796方框圖)。

多總線及多內核存儲器的復雜性意味著,只有一個外綁器件(現場可編程門陣列, FAPG)才能夠達到完全除去系統錯誤所需的可視度水平。但是,如前面所討論的,頻率為150MHz的總線周期僅為6.67ns,一個外置的外綁控制器在這段時間內要接收總線信息,并對其解碼,還要決定需要觸發的中斷及暫停處理器,因此,給予控制器的時間是遠遠不夠的。在這種情況下,解決問題的方法就是將仿真器安裝于外綁器件中,形成所謂的仿真設備(見下方對比圖:左方為大規模生產器件,右方為擁有仿真擴展芯片的仿真設備)。

仿真設備使用一個原始生產器件的宏指令,完成所有的一般性功能、外設及端口,接著在外緣添加一個512K的靜態隨機存取存儲器(SRAM)、幾個總線觀察模塊(BOB)及一個擁有一些本地存儲器來控制仿真器的局部CPU(在此情況下為另一PCP2)。若干高速串口,包括USB、JTAG和Micro-Link端口提供了外部連接口。該附加的線路,也叫EEC(仿真擴展芯片),在大規模生產器件發生改變時,使得仿真器很容易被重新設計,因為互連點并沒有發生變化。
傳統的外綁器件的另一常見問題在于封裝的大小。仿真設備被特別設計成與標準的生產器件占位面積相符合,并且擁有一組額外添加的針腳來提供更多的信號。同時,還給封裝直接添加了一個頂端連接,通過可移動的連接器就可以采集相同的信號,下方圖象分別顯示了大規模生產器件封裝(頂端)及仿真設備封裝(底端)。

仿真設備甚至提供了比傳統的ICE更多的性能,這些性能包括:
跟蹤性能:
TriCore程序、數據及狀況跟蹤;
PCP程序、數據及線路跟蹤;
所有控制多個組件的主線全方位的可視性;
緩沖器跟蹤數據的優化壓縮;
所有的跟蹤在時間上都全面地得到校正;
中央時標單元;
事件前后跟蹤緩沖(邏輯分析儀)
觸發邏輯性能:
觸發器能夠用于觸發中斷、跟蹤限制及開始/停止跟蹤;
用于控制指令時針及數據地址的范圍比較器;
用于控制數據掩模對等/范圍比較器;
附加的外部事件輸入(2)及輸出(4);
用于計算事件、并在計算和時間基礎上進行時間測量及事件生成的計數器;
同時地、有選擇性地開始和停止所有內核存儲器的中央機制;
仿真器同時也提供了特殊的重啟模式,通過各種重啟進行調試和校準,開機重啟除外(見下圖)。