[討論] GPU加速Transistor層的模擬器

作者: erspicu (.)   2020-12-31 00:37:20
不想走冤枉路.... 雖然有找過資料
但找到的資料似乎是一些大學教授和硬體大廠的研界成果發表 論文也有
感覺有很高的技術門檻 門檻高就算了 主要是怕結果實際上也沒如同想像中好
想問看看有沒有已經走過這條路了 不知道通不通或是值不值得
模擬器最傳統的做法是cpu指令層的模擬 這種模擬方式好實作
但正確度要拉高到一個水準 就需要很高代價
尤其是cycle accurate的模擬問題
要100%正確 就要層邏輯閘層去模擬運算結果
但邏輯閘層運算量遠大於指令模擬 主要是因為邏輯閘層運算都是同時間平行的
這種特性很適合GPU 如果像是紅白機MOS 6502的話邏輯閘數大概有4千5百多
目前看到用一般cpu去計算邏輯閘模擬計算 非常多秒才能算出一張frame
用指令集模擬的方式 每一秒可以算出好幾百張frame 差異非常巨大
不知道用gpu來模擬FPGA那種陣列 先不提有沒有商用價值
效率能不能提升到實用價值 不知道有沒有人公司剛好有做過這研究
之前移植專案做到一半 想研究一下改用GPU平行處理來處理邏輯閘模擬
寫一寫 還沒到改寫的部分 還在JS PORTING到C#的階段就丟著
如過是死路 就算了
PS.我的理想是靠GPU模擬一張FPGA 拆晶片用放大鏡把內部邏輯描繪出來
然後燒到FPGA上 有一些骨灰迷是有在做這事情
像這網站 http://www.visual6502.org
但目前還沒看到靠GPU模擬FPGA 把電路燒進去的
現在還在移植 http://www.visual6502.org/JSSim/index.html 到C#版本
作者: labbat (labbat)   2020-12-31 02:45:00
要有hdl parser然後compiler最後大魔王scheduler
作者: mmonkeyboyy (great)   2020-12-31 04:12:00
我可以幫忙哦XD XDXD
作者: ptta (ptta)   2020-12-31 06:44:00
看Nvidia的報告,結果很驚人啊,10倍以上差距
作者: bcew (bcew)   2020-12-31 07:56:00
要不要先討論你模擬到這麼底層的意義?各邏輯閘、各走線的timing還是沒模擬到;如果想找模擬的加速方法,現在的軟硬體協調模擬都是搭FPGA...你的做法不是不行,也許AWS的雲端FPGA真的這麼做,只是就你個人意義何在?
作者: Holysml   2020-12-31 08:06:00
C家有想搞過?不過尚未看到商用化的tool
作者: mmonkeyboyy (great)   2020-12-31 09:13:00
別的先不說 abstract -> cycle accurate的很難跑了下到 transistor的 @[email protected]~ 你就想著把spice 拿來跑數位這....XD 當然有人這樣做過啊 還可以gpu加速但解邏輯慢到一個不行 解數值還可以 @[email protected]GPU 不是萬能 解這種東西還不如用cpus+ fpga emu
作者: bcew (bcew)   2020-12-31 11:41:00
瞭解你想做的事了,這麼少的邏輯閘,直接擺進FPGA就好,小FPGA應該還比你顯卡便宜呀,放GPU跑模擬像是在現代想打造一個高效率蒸汽汽車,不是不行但方向怪怪的。
作者: wulouise (在線上!=在電腦前)   2020-12-31 16:17:00
我對GPU不是很熟,GPU擅長平行處理,為什麼不用CPU做?
作者: mmonkeyboyy (great)   2019-01-01 00:31:00
哇 那個slide 上還有黃仁勳啊XD我人沒那麼好 我懶得解釋為什麼不行 總之就是不太行那篇文章講的是用gpu 解 事實真是如此嗎 (笑)國外有太多這類文章了 後來也沒怎麼做下去XD都講講x話 沒怎麼思考就做的有可能是拿了計劃要做新方向而做C家快有混合平台了 XD
作者: Apache (阿帕契)   2020-12-31 17:30:00
C家是cadence吧至少商用沒有 然後目前GPU其實不好模擬這種
作者: jeff40108 (死得腥羶豔油劑是他)   2019-01-01 13:12:00
講白了你能算timing就是天才,不能就是白癡
作者: snaketsai (さいでんし)   2019-01-01 13:18:00
CSM應該分別是Cadence/Synopsys/Mento Graphics?不過C有類似產品這個我有點意
作者: javatea (齁齁)   2019-01-01 14:26:00
這篇在講什麼屎啊 你知道你自己講什麼東西嗎
作者: blackrays (黑芒)   2019-01-01 17:11:00
感覺原po不是做硬體的吧
作者: Neistpoint (Neistpoint)   2019-01-01 17:30:00
你可以清楚描述你想要解決的問題嗎?模擬器的種類很多,你指的是instruction set simulator 嗎?你喜歡6502,重寫一顆就好幹麻作反向工程從電晶體反向回邏輯電路再燒到FPGA?
作者: wulouise (在線上!=在電腦前)   2019-01-01 23:33:00
我記得最近才有人重新出gameboy, 就是用fpga完全模擬https://www.analogue.co/pocket 這家都是用fpga模擬說真的你提的問題已經完全脫離效益等級,就是很深但是沒有商業領域會想鑽的領域,就是靠愛撐過去有成本更低的方式可以滿足,其他方式的探討就是純學術
作者: ESTARRIOL (VETCH)   2019-01-01 23:42:00
如果是興趣使然去研究的話,不用太在乎利益啦玩興趣開心最重要
作者: kurtsgm   2019-01-02 03:27:00
這篇讓我想到麥塊裡面有人做出電腦來 XDD
作者: SkyFluid (鹹魚飯X的現身)   2019-01-03 01:39:00
想這麼做也可以, 但有件很關鍵的事你沒有注意到.硬體在跑的時候,並不是所有的電晶體都有作用. 但你用gpu模擬(emu)時,會在編譯期先決定哪些電晶體需要跑.除非能事先拿到testbench,不然就是全部電晶體都要emu,這是巨大的負擔. 同時,某條signal有上百個load是很正常的事,不過這會造成在emulation時的同步問題.
作者: mmonkeyboyy (great)   2019-01-03 04:24:00
幫樓上補一下 是ICCAD 的contest
作者: Boska ( )   2019-01-18 00:32:00
跪著看

Links booklink

Contact Us: admin [ a t ] ucptt.com