.net 5和.net core_开源仿真器 EpicSim 运行 SM3_core
假期之中,尝试使用 EpicSim 运行 SM3_core ,一个开源的国密 SM3 杂凑算法 IP。
此前该项目仅提供一个 windows 下 Modelsim 10.5 的验证环境,现今增加了 Linux 环境下,基于开源仿真器 EpicSim 的示例仿真脚本。
EpicSim 版本: v1.0.2
SM3_core 版本:v0.3
运行测试(EpicSim)
目前增加了对于开源仿真器 EpicSim 的初步支持,运行一个固定的 SM3 示例,目前暂不支持 DPI 相关功能。
用户可以通过 sim/run_epicsim/epicsim_sm3_core_top_tb.sh 启动测试平台。此外,在 sm3_cfg.v 打开或关闭下列宏开关:
- 打开 SM3_INPT_DW_32,目前仅支持 32 位
- 打开 SM3_CMPRSS_DIRECT_ADD,使用加法符'+',使工具推断相关电路
- 关闭 C_MODEL_ENABLE,目前暂不支持 DPI 相关功能
- 打开 EPICSIM ,选择仿真器
- 打开 VCD_DUMP_ENABLE, 使能波形 dump
工具在运行完成后产生波形文件,使用 GTKWave 查看
gtkwave ./sm3_example.vcd
目前已经测试的 EpicSim 版本与环境:v1.0.2 on CentOS6
测试输出
[eda@syn-eda script]$ epicsim -g2005-sv -I ../../rtl/inc/ -l ../../sim/tb/tb_sm3_core_top.sv ../../rtl/* ../../rtl/if/sm3_if.sv -s tb_sm3_core_top
LOG: run SM3 example under 32bit mode.
LOG: res : 66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0
** VVP Stop(0) **
** Flushing output streams.
** Current simulation time is 100125000 ticks.
trouble shooting
相较于此前的 ModelSim 环境,在适配 EpicSim 的过程中发现了两者的一些不同:
- EpicSim 要求端口列表为空的模块,不能定义为 module xx_module (); 必须去除括号,表示为 module xx_module;
- 似乎无法将 interface 作为模块的 port(待验证,目前我直接将端口中的 interface 去除了)
- function/task port 类型不支持 ref
Limit
- 暂未尝试 DPI 的相关功能
关于 EpicSim
EpicSim 是一款国产开源仿真器,基于 icarus iverilog 开发。
数字仿真器,是功能验证最不可或缺的一环。仿真器的性能,语义支持能力,编译流程控制以及调试能力,都对功能验证起着至关重要的作用。市场主流的仿真工具有VCS, IES, Questa 等商业软件,而iVerilog则是目前开源仿真器的代表,由于iVerilog只能支持有限的语法,且性能有待突破,目前主要用于科研项目和高校教学等领域,未曾在商用领域得到打磨的机会,没有实际项目的应用反馈,大大局限了该仿真器的功能改进和性能提升。
基于我们对时序电路特性的了解与研究,我们对iVerilog进行了针对性的优化,使其在RTL 设计上可以有2倍以上的性能提升,并且充实了Verilog语言的支持,大幅提高了iVerilog对场景的适应性。我们对iVerilog进行优化和改造的同时,对其仿真精度上的实现方式进行了修复和校准,使其结果与现有商用软件保持一致。
产品亮点
- 最快的动态仿真速度,可获得至少2倍于iVerilog的性能提升
- 进一步提升的软件质量和调试能力,提升了对标准波形格式的支持,以及基本的VPI功能
- 在iVerilog原有的语法基础上进一步提升对IEEE1364/1800标准的覆盖
- 在易用性、实用性、稳定性上提供专业技术支持
社区链接
更强、更快、更实用 EpicSim,全球速度最快的开源数字仿真器edagit.com
开源地址
GitHub:https://github.com/x-epic/EpicSim
Gitee:https://gitee.com/x-epic/EpicSim
安装使用
社区中有一个 CentOS7 安装教程
在CentOS7上安装开源Verilog仿真工具EpicSim - 动态仿真 - EDAGit - Powered by Discuz!edagit.com
不过现在官方提供了一个 Ez 安装脚本,支持 CentOS6/7/8 等系统的便捷安装:
.net 5和.net core_开源仿真器 EpicSim 运行 SM3_core相关推荐
- 微软开源仿真器AirSim ROS接口
目录 1. 背景 2. 获取更高频率的视觉图像 3. 车辆模式的ROS接口 4. 双目图像时间戳同步问题 5. 其他工具和仿真环境 1. 背景 AirSim是微软一款开源三维仿真器.说是仿真器,其实更 ...
- 又一嵌入式开源仿真器
已剪辑自: https://mp.weixin.qq.com/s/X0I3EotJ8TRqLK8vb8iQvA 同QEMU类似,Renode也是嵌入式相关的一个模拟器. Renode 针对物联网应用, ...
- React Native开源项目如何运行(附一波开源项目)
学习任何技术,最快捷的方法就是学习完基础语法,然后模仿开源项目进行学习,React Native也不例外.React Native推出了1年多了, 开源项目太多了,我们以其中一个举例子.给大家演示下如 ...
- AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(四):开源的Silverlight运行容器的编译、配置...
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- 通过小宝的卡牌游戏,看开源SCUT服务器运行使用
这几天在看小宝更新的bolg,小宝的通信底层写的真不错,为什么前面写了kbe,firefly的用法,这里又说scut,其实就服务器方面用这些或者网易的柚子,甚至云峰的那个3000行代码的工具功能都差不 ...
- 开源的.NET运行剖析器nprof简单使用指引
在开发.NET应用程序中,尤其是数据库+运算密集的混合应用时,时常发现应用程序运行的不够快,优化无疑是一个程序员不得不面临的问题.如何找到软件系统的瓶颈就成了摆在程序员面前的难题.微软的Applica ...
- 搭建嵌入式开源开发环境
目录 前言 开启通讯服务 打开Linux终端 检查vsftpd软件 修改vsftpg配置文件 确认网络连接 配置静态ip 宿主机上安装FTP软件 完成NFS和SSH服务的配置 安装交叉工具链 安装编辑 ...
- PlayStation Classic由开源PCSX模拟器提供支持
"Classic" consoles, tiny, re-packaged versions of 80s and 90s game machines, are a popular ...
- 基于RISC-V架构的开源处理器及SoC研究综述
RISC-V是加州大学伯克利分校(University of California at Berkeley,以下简称UCB)设计并发布的一种开源指令集架构,其目标是成为指令集架构领域的Linux,应用 ...
- 串口,USB,USB转串口,串口驱动,仿真器下载程序
串口,USB,USB转串口,串口驱动,仿真器下载程序 在初学stm32,接触到的第一步便是下载程序, 方法一:利用仿真器下载程序 方法二:利用串口下载程序 本文简单介绍两种下载方法,浅入窥探下载原理, ...
最新文章
- fflush函数的深入理解
- 时间管理无非就是一个玩耍俄罗斯方块的过程,堆堆堆哈哈哈哈
- PHP获取各个IP地址
- matlab 读取excel一列,读取excel中的数据把第一列相同的所有行数据输出成一个excel...
- 修改了xml要不要重新起服务器,关于设置:Eclipse每次运行项目时都会修改server.xml(运行-在服务器上运行)...
- 戴尔电脑安装win 7
- php mysql 类型_php mysql bigint 类型
- 标签打印软件如何制作DataMatrix二维码
- 一键清除苹果锁屏密码_Aiseesoft iPhone Unlocker下载-苹果设备解锁工具 v1.0.22 官方版...
- 吉林省辽源市谷歌高清卫星地图下载
- 迅雷“应版权方要求,文件无法下载”完美解决方法!(¥28)
- uniapp 电商小程序 置顶特效/分享特效/红包特效 简单实现效果
- 迅雷离线下载 docker
- 深度迁移度量网络 Deep Transfer Metric Learning
- 虾皮开店难吗,如何判断适不适合入驻虾皮(一)
- java中activeThread_java多线程机制中的Thread和Runnable()区别
- 数十万csdn小白难题:自学软件测试,学到什么程度可以出去找工作啊?京东offer不要了,换字节跳动....
- JavaBean 与 POJO
- HashMap扩容时的rehash方法中(e.hash oldCap) == 0算法推导
- 斯芬克斯(sphinx) mysql全文搜索引擎
热门文章
- pr生成html文件格式,pr支持哪些格式
- 点击场景中的物件无法定位到Hierarchy
- java 7 学习笔记_Java学习笔记7
- 按键精灵手机mysql_mysql,按键精灵,读取写入
- mysql源码启动_mysql源码分析-启动过程
- python 采集系统_python—收集系统信息
- php app 签名错误,微信小程序基于PHP微信支付“签名错误”填坑
- php dcom扩展配置,PHP: 运行时配置 - Manual
- java复制数组函数_java 数组复制:System.arrayCopy 深入解析
- 【转】C# DateTime.Now详细用法