『壹』 blackbox使用方法
當前SoC設計很多時候以IP為基本的building block,很多時候SoC設計前端部分的工作在於多個ip的縫合和管理,這個時候就可以使用chisel內建的black box模型來例化,以及進行簡單的測試。
blackbox本質上只是一個文本生成器,用於例化ip模塊,與verilog例化模塊類似。以下是一個chisel調用ip的例子。
需要關注的是:
假如verilog中的變數名過於繁多,比如存在"op0,op1,op2...op10"這么多同類型變數,是否也要像上述方式一樣,手動地寫一串的埠名?
其實不需要,用object的apply方法,重新將多個變數封裝成一個數組,這樣又可以很方便地調用模塊了。通過重新封裝,可以得到形式上更加統一和簡潔的介面形式。
以下是最常見的例化方式
注意對應的blackbox要放在/src/main/resource目錄下,沒有目錄則新建一個。
另外,假如不存在對應的resource,則去掉上述的 HasBlackBoxResource
這時候的例化已經與正常的chisel模塊調用方法一致了
從實際操作來看,在chisel中例化模塊,似乎和在verilog中例化的工作量差不多,都得完整地聲明port列表。
但是實際上,blackbox模塊與chisel內建的mole模塊是等同的。chisel的主要魅力並不是簡化了port的聲明方式,而是在於,將模塊導入之後就有跟mole一樣的地位,就可以同樣地採用更加漂亮的參數化管理方式,更簡潔的模塊例化方式,工廠化的生產方法以及函數式的模塊調用方法等。導入blackbox至chisel中是為了更好地利用這些特性,以減少一些重復勞動。
『貳』 什麼是RISC架構
RISC直接意思就是精簡指令集結構CPU。
這個東西太深奧了,只能復制了,試著自己寫點也刪除了。
指令集也可以理解為軟體和硬體之間溝通的橋梁,不同的廠家可能會用不同的方法來實現相同的指令集,從而讓遵循相同指令集的軟體可以無需修改即可運行。比如我們熟知的Intel和AMD都實現了x86指令集,這基本上統治了PC的市場。
Krste教授決定帶領團隊重新開發一個完全開放的、標準的、能夠支持各種應用的新指令集,他也得到了RISC的發明者之一,Dave Patterson教授的大力支持。從2010年夏天開始,大約花了四年的時間,這個團隊設計和開發了一套完整的新的指令集,同時也包含了移植好的編譯器、工具鏈、模擬器,並經過數次流片驗證。為了能夠加快開發的效率,以便能夠快速的評估和修改設計以及提高可復用性,Chisel作為一種新的硬體構建語言也被開發了出來。簡言之,你可以用scala這種函數式編程語言去設計硬體,並最終能夠生成傳統的Verilog HDL用於ASIC/FPGA,或者生成C++用於模擬。
這個新的指令集叫做RISC-V,「V」包含兩層意思,一是這是Berkeley從RISC I開始設計的第五代指令集架構,二是它代表了變化(variation)和向量(vectors)。
『叄』 閃電chisel是桶軸嗎
是。
桶軸車架是一種專門為了安裝桶軸而開發的專用車架,現今高端山地車市場,都是安裝的桶軸,作為輪組的旋轉主體,這種為了桶軸結構。優化的車身形式,也被稱為桶軸車架,與普通的車架,區別在於軸端的安裝位置,是一體化的結構,不會因為快拆結構的失效,而出現輪組脫落的情況。