
1导言
目前亦安计划每周汇总一些群内讨论的问题,觉得比较有价值会发出来给大家参考,汇总的问题都是群友提问,各个方向都有。
2工具使用
问:怎么快速定位X态?
答:Verdi拉出X态波形,右键选择Trace X
,可以出原理图快速追踪到异常,非常方便Debug,不用手动点,工具会帮你追。
问:怎么合并多个case覆盖率?
答:Synopsys有个EMAN(Execution Manager)工具可以实现这个功能,具体软件使用请参阅手册。
3SMMU
问:请问为什么有了MMU,还需要IOMMU?
答:MMU本身是为了用于翻译虚拟地址到物理地址(VA-PA),IOMMU(ARM架构称SMMU)同样是用于VA-PA到翻译,不同点为MMU是用于Core的翻译,而IOMMU用于IO的的VA-PA,出于对资源利用的考量,为了支持IO本身(DMA)直接访问内存,释放CPU Core的压力,所以产生了IOMMU。
以下是ARM的SMMU标准的解释:
A *System Memory Management Unit* (SMMU) performs a task that is analogous to that of an MMU in a PE, translating addresses for DMA requests from system I/O devices before the requests are passed into the system interconnect. It is active for DMA only. Traffic in the other direction, from the system or PE to the device, is managed by other means – for example, the PE MMUs.
当然IOMMU不是几句话能讲完的,以后亦安也会出专门的文章详细讲解MMU/IOMMU,IOMMU同样也支持虚拟化(即VA-IPA-PA),具体参考ARM的Spec。目前RV的IOMMU应该也会在本年度发布,以下是微架构实现的一些方案(来自ARM),IOMMU也可以被设备私有,或者多个设备公有,也有分布式的设计,具体看微架构方案。

4软件安装问题
问:请问安装EDA一般需要安装哪些库呢?
答:一般EDA厂商都会在手册里面说明,有些还给出检测的脚本,如果不清楚,以下的库基本覆盖多数软件的需求:
sudo yum install libdl.so.2 libtcmalloc.so.4 libpthread.so.0 libstdc++.so.6 libm.so.6 libgcc_s.so.1 libc.so.6 ld-linux-x86-64.so.2 libunwind.so.8 redhat-lsb
sudo yum install -y glibc.i686 glibc.x86_64 elfutils-libelf.i686 elfutils-libelf.x86_64 ksh mesa-libGL.i686 mesa-libGL.x86_64 mesa-libGLU.i686 mesa-libGLU.x86_64 motif.i686 motif.x86_64 libXp.i686 libXp.x86_64 libpng.i686 libpng.x86_64 libjpeg-turbo.i686 libjpeg-turbo.x86_64 expat.i686 expat.x86_64 glibc-devel.i686 glibc-devel.x86_64 gdb xorg-x11-fonts-misc xorg-x11-fonts-ISO8859-1-75dpi7.5 redhat-lsb libXScrnSaver apr apr-util compat-db47.i686 compat-db47.x86_64 xorg-x11-server-Xvfb glibc-devel glibc-headers gcc-c++ tcl
sudo yum install -y libXext.so.6 libstdc++.so.6 ksh redhat-lsb xorg-x11-fonts-ISO8859-1-75dpi libXp.so.6 libXp.x86_64 libXt.so.6 libXtst.so.6 libXss* glibc-devel.i686 apr-util xterm xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-fonts-base libxml ocpchannel redhat-lsb-core.i686 compat-libstdc++ libxml2.i686 libXrandr.i686 libXcursor.i686 libSM.i686 libICE.i686 libstdc++.i686 zlib.x86_64 libxml2.x86_64 libxslt
以上整理自网络,如果还缺少根据报错,使用rpm -q --whatprovides [file name]
来查找什么能提供这个包。假如这个思路依然不行,那么可能也可能是源没有覆盖,具体问题具体分析。
例如compat-libstdc++
redhat一些版本无法安装,那么可以执行:subscription-manager repos --enable=rhel-7-server-optional-rpms
然后继续安装。对于操作系统建议看下EDA厂商支持什么,不建议使用比较新的操作系统。
5最后
如果你觉得文章对你有用的话,记得给我点赞关注,这对亦安非常重要。
Q交流群:248615078
暂无评论哦,快来评论一下吧!
