Re: [討論] GPU加速Transistor層的模擬器
1. 你所描述的聽起來不是 transistor 層模擬,而是邏輯閘層次的模擬。Transistor 模擬是指像 spice 那樣模擬時間 vs 電流之類的類比計算,就像用工具幫你做 smith 電子學習題這樣。
2. 你內文裡面比較「cpu 指令層」, 「cycle-accurate」,「邏輯閘層」模擬,提到哪些運算量比較大,哪些比較準,這些都是 ic 設計常識。一般公司的設計流程,在設計晶片架構時,用 c++ 寫 transaction accurate simulation,用 c++ 或是 systemC 寫 cycle accurate simulation,等架構設計確定後,開始寫 HDL,HDL 小部分用 EDA tool 看波形圖做驗證,大範圍 HDL 用商業廠商買來的emulation設備,也就是 FPGA 做模擬,這裡的 FPGA 並不是只有一塊 FPGA,有可能是很多塊 FPGA 湊在一起模擬一部分ASIC 的電路行為。
3. 所以問題就是,為什麼 emualtion 要使用 FPGA 而不是 GPU?答案是 gate count 還有開發時間。FPGA都裝不下現代稍微複雜一點的 IC,GPU 更不可能。HDL 要翻譯成 CUDA 也不切實際,除了驗證沒有其他價值。
※ 引述《erspicu (.)》之銘言:
: 不想走冤枉路.... 雖然有找過資料
: 但找到的資料似乎是一些大學教授和硬體大廠的研界成果發表 論文也有
: 感覺有很高的技術門檻 門檻高就算了 主要是怕結果實際上也沒如同想像中好
: 想問看看有沒有已經走過這條路了 不知道通不通或是值不值得
: 模擬器最傳統的做法是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#版本
--
推
可能是稱呼有些翻譯上或是認知上落差 後來想想
更正確應該是稱呼Gate-Level Simulation 不過
查資料過程有些也是以transistor level simulation稱呼
另外FPGA主要是沒辦法普遍普及 然後早期處理及GATE數量
早期處理氣邏輯閘數量並沒有那麼多幾K到萬初而已
即使無法一次完成整個週期動作 靠著現在GPU速度快
多幾次動作去完成 可能也可行 但不確定效果好不好
主要希望目標是早期一些遊戲主機處理氣Z80 6502等等
沒,可以裝下,只是可能一萬鎂的裝個arm現代的core,十萬
鎂消費級AP,Intel他們可能是百萬鎂的跳。
上面那個大概就是你要的東西吧
FPGA是真正把電路放進去 gpu又不能放電路
連個接近都不是 所以沒有emu的意義
HDL跟cuda根本不是一回事 所以我也不懂這樣放意義
我並不是要啥現成模擬器商品或是程式 只是要探究一種
能夠在電腦上更正確模擬的方式 要知道早期很多CPU一些特
官方SPEC並不一定會寫出來還有一些硬體特性也是 BUG也是
GPU能不能放電路都沒關係 只是藉著GPU去處理邏輯閘運算
你現在連gpu為什麼連 gpu不太好做這事都不想理解了
還不如拿來解transistor level實在多了 這裡有數值的
解gate level除了timing 有得搞外 解邏輯 gpu不會比
較快 我拿個ARM海可能更快點 (這個是有產品的哦)
to erspicu:要不要先去修一些ic設計的課程再來講電腦模擬的
事,怕走冤枉路,背景知識不足也不聽勸,還能說什麼?
不聽勸 這帽子扣太大了吧 都只是交流一些想法
只是覺得沒必要把人家學者的研究描述成啥說幹話 不經思考
附帶一提的是 想當然也知道FPGA是花錢最快最棒的解法
問題是這回答跟 人家電腦上玩模擬器部分運作有問題
問人家玩模擬器的意義是啥 為啥不買實體機一樣
預設的情境就是電腦開啟執行去達成一個更高的模擬完成度
一直在那邊FPGA FPGA..我買FPGA 我乾脆買二手主機還便宜
大概是原PO背景知識落差太大了吧
這邊回你的很多都在豬屎屋/EDA/HPC業界有實務經驗
很多前提對他們來說是理所當然 但是對原PO不是
不過對個人這種需求真的是很怪
對於只是想玩玩遊戲主機模擬器玩遊戲 有更高模擬品質
你叫人家 不會去買塊FPGA喔 這才正解拉 這其實更奇怪
一個目的可能是商品雛型開發 一個是希望能在PC端找到一個
更精確模擬遊戲主機的方式 我一開始其實就講得很清楚了
你叫人家買FPGA 人家不如幾百元到網拍二手機主機更乾脆
既然都要走實體方案的話 二手主機也才多少錢
所謂有實務經驗 就是跟很多人一樣工作上用到FPGA
因為你問的不可行所以人家建議你去用FPGA啊
因為一些開發需求有用過一些現成套裝軟體而已
我以為是有人親自嘗試用這構想真正實作過
不需要建議用FPGA阿 買台二手主機更快拉
你不是要做雛型開發
大廠做雛型開發就是用FPGA啊 更精確用CPU GPU就抱歉沒有
而且GPU只是加速 通常不會更準確 反而是用精度換時間
從頭到尾 我第一篇文章和推文就有說過 在PC端使用的模擬
在PC端使用的遊戲主機模擬器 已經說過滿多次了
如果要用硬體的話 我乾脆去買二手主機不就得了
你插張PCIe介面的不就在PC端了
我就是要放出程式給大家用啊 幹嘛一定硬體阿
說白了 根本沒有人有實際親自實作測試的經驗可以分享
有的是 阿 你看看那些論文學者發表成果有多早
現在還不是沒有普遍商業化 所以我估計都是說幹話拉
這就是大家講你的不聽勸啊==
你以為豬屎屋花錢買EDA tool是盤子是不是
沒有模擬器親自實作經驗的人 用自己以為說他的推測而已
工作會用到FPGA會需要買套裝軟體使用又如何?
這構想做法早就有JS版實作後來有人改寫C++版
那就祝福你找到你想要的答案囉
https://tinyurl.com/y9oyde25 C++的CODE 每秒可以算到
大概1萬HZ的速度 這是在沒做任何平行處理優化狀況下
如果能夠優化到3.58MHz 就能達到實機運作速度了
好 你好棒 加油喔
www.udemy.com/course/design-a-cpu/ 教學用Logisim
我沒做過new gb這種模擬器 做過rv arm mips x86?
cell模擬器的可以嗎
(z80 好像有做過就是了@[email protected]" 幫一個教授做課程project
7
monkey大大說你只是想用GPU加速MOS 6502的電路模擬 我覺得就單你的例子是可行的,我分析如下: 你的電晶體數目不大,我們就用實際數目估計吧 - 3510 transistor - 在NmosFet.py裡有5個變數記錄狀態變化13
感謝你提供的網站 這提供非常多的訊息與實作的細節,也讓我有機會能更理解你的想法 我先稱它為virtual chip來做區別。 我看了FAQ與slide,裡面大致就回答這群作者能做到什麼程度, 我把我認為重要的條件列在下面:6
我有把你下面推文的兩個連結看了以確定我盡量能理解你的目的。 文中你提到transistor-level與邏輯閘層(gate-level)模擬, 這兩個用詞在你的語境下所代表的意思有點模糊, 我用我的理解以及上篇crossbar的觀點來定義一下: - transistor-level:19
首Po不想走冤枉路.... 雖然有找過資料 但找到的資料似乎是一些大學教授和硬體大廠的研界成果發表 論文也有 感覺有很高的技術門檻 門檻高就算了 主要是怕結果實際上也沒如同想像中好 想問看看有沒有已經走過這條路了 不知道通不通或是值不值得 模擬器最傳統的做法是cpu指令層的模擬 這種模擬方式好實作
27
[請益] 請問有辦法從FPGA工程師轉IC設計嗎?各位先進大家好,小弟目前任職於一間設備開發公司,主要是撰寫FPGA, 另外約20%時間寫組合語言/C語言韌體,也有設計類比電路,及C++(QT)。 基本上就是依照需求想辦法把產品設計出來,該用什麼就用什麼。 目前工作的薪水不算高但是環境不錯,工作彈性,同事相處融洽。 不料最近公司有一些變動讓我興起轉職念頭。由於FPGA接觸的時間比較長20
[請益] R&D vs. IC Design 怎麼選個人背景: 國外 EE Master畢業,到現在快六年Digital IC Design工作經驗 故事背景: 目前人在國外Design house工作,前陣子因為組織改組從原本的IC Design Team被分配到公司中心的Innovation Office,這個部門主要負責公司新技術的導入,應該類似其他公司的Path finding部門,大部分同事都是PhD。我的工作目前是做新技術的feasibility study、讀paper、跑模擬、以硬體的角度提供新技術是否可行及架構的評估,以及最後會在FPGA上做驗證,在驗證可行後會交給其他部門做成產品以及量產。 到現在工作起來的感覺是滿喜歡的,畢竟碰到的都是最新技術,每天也都會有不同的挑戰要跟不同領域的人合作解決,很像在讀PhD的感覺。12
Re: [討論] Binkov's Battlegrounds對台海戰爭的分析談一下半導體的部分好了 原文的說將轉單中國, 這點是200%的無知, 除了先進製程做不出來以外, 還有一個更重要的因素是,2
[問卦] FPGA可以取代CPU、GPU嗎?我文組啦, 最近在研究FPGA。 更專門的領域, ASIC是無法撼動的存在。 一般使用,5
Re: [討論] DE/DV 二刀流 是不是將來趨勢?原po要講得的應該是單靠DV很難把設計驗完 至於要不要雙刀流真的是看個人選擇 比較複雜的設計從演算法開始,電路實作到最後整合, 隨時都有一堆事要反覆檢查 近年來看到常見的DV在設計流程上的分工