題:
如何設計自己的基於ARM的處理器?
Lord Loh.
2012-08-04 00:19:38 UTC
view on stackexchange narkive permalink

關於如何設計自己的基於ARM的CPU,我有幾個問題?

  • 一個人如何以ARM許可證開頭並以準備好焊接到一個封裝的包裝結束?板?
  • 我從ARM那裡可以獲得什麼(我確信它們有多個可用的許可證選項-體系結構許可證(Qualcomm Snapdragon風格)和核心許可證(TI OMAP風格))?
  • 一旦獲得ARM的“授權”,我需要繼續使用哪些工具?
  • 我要發送給工廠什麼?
  • 我相信只有某些晶圓廠獲得許可才能將ARM內核蝕刻到矽晶圓上。我對嗎?
  • 作為一名學生,我可以負擔得起在FPGA上執行此操作嗎?我該如何獲得類似經驗的經驗?
顯而易見的答案是與ARM交談。
看一下http://www.opencores.com -那裡有許多處於不同狀態的完整性和功能性的各種處理器內核。就獲得實際的ARM核心資源而言……​​就像@OlinLathrop所說的那樣……與ARM交流。
我不理解反對意見,這可能是一個幼稚的問題,但絕對是合法的IMO。
@JonL-感謝您的理解。我天真地做了框架,以便得到最大的解釋。我最大的經驗是為DSP項目以及一些CISC和流水線RISC處理器(研究生項目水平的複雜性)編寫一些Verilog代碼。
@JonL:因為明顯的答案是問ARM。充其量,我們只是在推測,除非這裡有人碰巧為ARM工作並且知道可用的選項。 -1,因為它似乎沒有嘗試遵循明顯的路徑,也沒有進行任何研究。
@OlinLathrop-由於我不打算購買IP,所以我懷疑ARM代表是否會浪費他/她的時間與我交談。請指出我在研究過程中可能會遇到的一些互聯網上不起眼的資源。我希望這裡的某人可能對架構-> Si或Core-> Si工作流程有一定的經驗。
現在您已經通過完全聲明您將不購買IP來確認該項目顯然不可行,問一個與購買特定IP而不是通用IP密不可分的問題到底有什麼意義呢?
@ChrisStratton-學術興趣!我可以從頭開始設計自己的設計,但是我不想對工作流程一無所知。如果應聘我來設計應用程序處理器,那麼這種見解將是有用的。而且,如果人們不知道一種工具的存在,獲益或如何使用的知識,那麼使用該工具(一種ARM內核/體系結構)的可能性有多大。
問題在於您的問題是特定於您將無法遵循的工作流程的。您可以遵循的工作流程-在HDL中使用原始或免費提供的設計作為FPGA的目標-與猜測完全不同。
我知道我可能無法將ARM集成到FPGA中。從您撰寫的內容來看,如果我選擇了MIPS內核,聽起來將有不同的工作流程。如果使用Xilinx Zynq,我可以體驗其中的一部分嗎?
@ChrisStratton-Zynq開發板-您認為這可以是圍繞ARM內核進行設計的部分經驗嗎? (核心許可)http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,1028&Prod=ZEDBOARD
[Cortex-M1內核](http://www.arm.com/products/processors/cortex-m/cortex-m1.php)似乎打算在任何合適的FPGA中運行。主要的FPGA供應商都擁有IP許可證,並像其他任何軟核一樣將其交付給設計人員。我假設不是免費的,但是可能有一些專門供學術使用的程序。
五 答案:
user3624
2012-08-04 00:56:18 UTC
view on stackexchange narkive permalink

這是公司的運作方式:

  1. 籌集大約1000萬美元。
  2. 與ARM協商以獲得許可證。這可能至少要花費一百萬美元。
  3. 從ARM獲取設計文件。它可能採用某種形式的VHDL,Verilog或“加密”網表。
  4. 結合使用自己的邏輯(針對外設)和ARM給您的產品設計自己的芯片。此步驟可能需要一些昂貴的CAD軟件和一小組專家。預計至少要花費500萬美元和幾年的時間。
  5. 為芯片本身製作掩膜。如果您使用任何現代半導體工藝,則將花費約100萬美元。
  6. 自行製造芯片。價格各不相同,但應低於50萬美元。
  7. 調試您創建的芯片,修復錯誤,然後返回到步驟5,直到可以出售為止。
  8. ol>

    這是的操作方式:

    1. 在您當地的大學參加研究生計算機架構課程。
    2. 接受更多
    3. 在VHDL或Verilog中從頭開始設計CPU。
    4. 從頭開始設計另一個CPU。
    5. 請看ARM指令。設置並設計一個兼容的CPU。
    6. 使與ARM兼容的CPU在FPGA中工作。
    7. 除非要起訴,否則不要分發您的VHDL / Verilog源代碼。
    8. 利用您的ARM經驗為您的博士學位撰寫出色的論文。
    9. 利用您的博士學位在ARM或TI或其他任何人找到工作。然後使用公司的前7個步驟重複該過程。
    10. ol>

      好,所以這個清單雖然有點誇張,但基本上是正確的。關鍵是,甚至不用擔心直接與ARM打交道,因為很有可能您沒有錢。而且也不要做任何會讓您起訴的訴訟。

+1。極好的答案。我要說的是,但更好。
您認為研究生水平的計算機體系結構課程應包含哪些內容?由於我們的計算機體系結構模塊並沒有為我們提供太多關於設計的知識,因此更多的理論不那麼實際。
任何好的課程都將包括不同種類的CPU的基本結構以及它們如何工作。主題應涵蓋微碼,指令解碼,ALU,內存訪問,高速緩存,寄存器,流水線,數據混亂,指令預取等。
是否有任何理由使ARM的指令集本身比比其克隆比比皆是的其他任何CPU更具專利性?當然,有些結構特性已獲得專利,但是如果目標是設計一個可與現有編譯器一起使用的CPU,那麼指令集本身會帶來問題嗎?
@supercat通常,除非它們包含一些體系結構的內容,否則它們本身並不具有很高的專利性。 MIPS在其CPU上做到了這一點,他們在CPU上獲得了一些指令的專利,這些指令可以加載/存儲未與字對齊的字,以及一些可以在大小端順序之間動態切換的東西。當MIPS起訴MIPS克隆製造商時,法庭上對此提出了質疑,而MIPS獲勝(大約在2000年)。但是大多數專利都與建築問題有關。不幸的是,如果不復制架構和指令集,就無法製造與現有編譯器兼容的CPU。
@DavidKessner-很好的答案。您能否建議一些實際使用的工具。我確實瀏覽了“三巨頭”(Synopsys / Mentor / Cadence)的產品部分,卻迷上了他們的設計工具庫-功能驗證產品,物理驗證產品,邏輯設計。我什至無法關聯來自三大EDA公司之一的產品。與其他EDA公司的對手是否正在使用大學教授的這些工具?我曾經在德州理工大學(Texas Tech U.)攻讀博士學位,但不涉及架構。
@DavidKessner:我不認為大多數編譯器會動態切換字節順序或執行其他此類操作,對嗎?我認為應該可以選擇ARM指令集的一個子集,可以告訴編譯器限制其輸出,但其中並未包含任何禁止的功能。 1978年,Intel 8086就曾演示過允許從可能未對齊的地址加載字的概念(Intel 8086),因此,如果不動態改變字節序,那我不會看到任何問題。您對ARM的要求有什麼參考嗎?
我大學的架構課程僅講授了這一點-我們在Xilinx ISE Web pack中實現了RISC,並嘗試使用modelsim進行證明-在真正的FPGA上沒有實現任何東西。管道危害的討論只是理論上的。唯一使用的工具是ISE Webpack和modelsim。在課堂結束時,我什至不知道高通公司或TI等公司用於推出其產品的專業工作流程。
@LordLoh,您可能會發現這些問題很有用:http://electronics.stackexchange.com/questions/28686/how-is-asic-design-different-from-fpga-hdl-synthesis/28693#28693 http://electronics.stackexchange .com / a / 7051/638
@LordLoh。聽起來像我上的本科計算機架構課程,我希望這是適合您的一門課程。
我在VHDL中實現了CPU的計算機工程課程。在過去的三年中,它不僅僅是一個模塊,而是一系列模塊。那些通過所有測試的人實際上也是在夏天捏造的!其中一位講師實際上是原始BBC micro的設計師-因此該部門與ARM有著聯繫。
這不是ARM,但MIPS威脅著Opencore設計http://brej.org/yellow_star/letter.pdf
我不驚訝。實際上,大約十年前OpenCores啟動時,我曾與Damjan Lampret交談過。當時,我剛剛完成自己的MIPS內核,但由於訴訟的威脅,決定不發布它。我建議達姆揚也避免類似的事情,但他顯然不聽。
embedded.kyle
2012-08-04 00:54:52 UTC
view on stackexchange narkive permalink

ARM有一個 University DesignStart計劃。作為一名學生,您只能訪問基本的Cortex-M0材料。但是,如果您真的有興趣,請您的老師參與進來,然後您就可以使用更多的設計材料(Verilog FPGA代碼,評估IP,仿真等)。

謝謝:-)我會盡力讓我的顧問要求其中的一些。
WFIW,此答案現在已過時,Cortex-M0和Cortex-M3都可用,並且該產品的某些部分向非學生/機構開放。
plan9assembler
2012-08-05 11:52:07 UTC
view on stackexchange narkive permalink

看看OpenCores上的 ARM內核

但請注意:ARM僅允許這樣的重新實現:http://www.eetimes.com/author.asp?section_id=36&doc_id=1287452,您將停止並停止訴訟。還可以考慮像RISC-V這樣的開放式拱門。
tcrosley
2014-11-08 04:48:34 UTC
view on stackexchange narkive permalink

ARM Cortex-M1(可能是最簡單的ARM處理器)是第一個專門設計為在FPGA中實現為軟處理器的ARM處理器。它針對以下FPGA類型進行了優化:

  Actel(M1 ProASIC3和M1 Fusion)Altera(Cyclone-II,Stratix-III)Xilinx(Spartan-3, Virtex-5) 

ARM本身正在製造用於Altera Cyclone III的 Cortex-M1開發套件,儘管DigiKey的價格為 625美元,價格有點貴。不過,您確實獲得了所有的ARM Cortex-M1 IP,並獲得了開發許可(另外,還為生產中的開發板免費提供了1000塊開發板的版權使用費,非常酷)。本身獲得知識產權(也許他們有一個學術課程,有人提到了大學課程,但這是針對M0的)。然後您可以單獨購買開發板。

這是有關Altera上 ARM Cortex-M1的更多信息。

這是一些信息關於將ARM Cortex-M1放在Actel FPGA上。

同時,人們對FPGA上其他版本的ARM Cortex也產生了興趣; 這是來自在Xilinx FPGA上實現ARM Cortex-M0的人的論文

如果要更改設計,請嘗試製造“合適的” 32位計算機。當前,ARM一次讀取8位32位指令,這意味著PC在每次提取指令時都會遞增4。
Sean Houlihane
2017-06-28 12:53:43 UTC
view on stackexchange narkive permalink

現在,您可以通過ARM的DesignStart程序訪問Cortex-M3處理器(和可擴展的AHB / APB子系統)。

Eval選項提供了一個FPGA目標(通過混淆的RTL支持仿真,Verilog中的其他所有功能)。目前,該產品針對具有mbed支持的ARM MPS2 + FPGA。

Pro版本(僅適用於可以簽署許可的公司/大學)允許製造,並且在Verilog中包括處理器內核(涵蓋Cortex-M0和Cortex-M3)。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...