[讨论] 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