soc即「system-on-a-chip」,將系統做成一塊晶元上。作為完整的系統,soc既要包括處理器核、匯流排、外設等硬體,又要包括處理器需要執行的指令,就涉及到了「硬體程式設計」和「軟體程式設計」。
本文將主要介紹「硬體程式設計」和「軟體程式設計」的概念和區別、設計soc並基於fpga實現的流程以及所需要使用的軟體。
「硬體程式設計」編的是乙個個閘電路以及相互連線關係,描述的是硬體的結構。
「軟體程式設計」編的是一條條的指令,描述的是硬體的「動作」。
軟體程式語言(c/彙編)可通過keil可將編譯成為機器碼十六進製制檔案。將機器碼作為ram的初始化內容,就可以進行**,在modelsim軟體中觀察soc工作時各個訊號的波形。
vivado可將硬體描述語言(verilog/vhdl)所描述的soc編譯、綜合、實現,將fpga內部本身無序的各種邏輯資源(如查詢表、觸發器、ram等)配置成為有序的電路,實現soc功能。
參考資料:
[1]如何高效利用arm designstart計畫開放的處理器核-工具篇
基於平台的SoC設計問題
基於平台的soc設計問題 基於平台的方法可提供一種完全整合的通用架構,設計師能夠利用這些共同特點,簡單 快速地開發出soc。而且,通過採用事先設計和特性確定的元件而不是定製設計的方法,有利於加速開發團隊的設計流程,減少逐漸增加的上市時間壓力。把它們應用於多個soc專案,重複使用現有的智財權 ip 模...
如何實現複雜FPGA設計的時序收斂
為什麼fpga設計類似 打鼴鼠 在fpga設計中 除驗證外 最主要的時間陷阱 time sink 是時序收斂。時序收斂常常是乙個不斷反覆的過程,以確保設計中的每個路徑都滿足時序要求。在相對較小 速度較慢的設計中,時序收斂比較容易,而且是自動收斂的,因此對fpga器件或實現工具的要求不高。然而,實際中...
FPGA之道(42)FPGA設計的分類
本文摘自 fpga之道 一看來學習下作者的看法。拋開應用背景 科研領域不談,單從fpga設計本身的一些特性出發,就可以將它劃分成若干個基本類別。在動手用hdl 實現fpga設計之前,最好先分析一下待實現的fpga設計具有哪乙個或者哪幾個基本類別的特徵,從而採用更加適合的程式設計思路來編寫hdl 按功...