0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

推荐一款网页版的Verilog代码编辑仿真验证平台

FPGA之家 来源:FPGA开源工作室 作者:相量子 2022-09-19 09:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

大家推荐一款网页版的 Verilog代码编辑仿真验证平台,这个平台是国外的一家开源FPGA学习网站,进入网页,在该网页上可以进行Verilog代码的编写、综合,而且最后还能够仿真出波形来验证设计代码的正确性,该验证平台是基于Icarus Verilog(简称iVerilog,比较著名的开源HDL仿真工具,也有对应的安装版本)的,让你随时随地只需登录网页就能够享受Verilog编程仿真的乐趣!

一、官方模板演示

1、首先打开

打开后的界面如下图所示,全英文显示。如果感觉自己的英文水平欠佳,可以使用谷歌浏览器打开该网页,并选择在线翻译功能,翻译的正确率还是很高的。

69c3e642-37b0-11ed-ba43-dac502259ad0.jpg

2、点击Simulation下的 ”Run a Simulation(lcarus Verilog)“。

69cee84e-37b0-11ed-ba43-dac502259ad0.png

3、打开后的界面如下图所示,代码编辑框中给出了一个简单的例子。

69e6f15a-37b0-11ed-ba43-dac502259ad0.jpg

4、点击下面的“Submit(new window)“在新界面中进行仿真。

6a0250b2-37b0-11ed-ba43-dac502259ad0.png

5、在新打开的界面中我们可以看到编译的信息和仿真波形图。

6a13824c-37b0-11ed-ba43-dac502259ad0.png

二、实例演示

虽然看完了官方的模板演示,但我们要想立刻仿真验证自己设计的代码并不是那么容易,需要进行一番摸索。下面就是大家进行一个呼吸灯的设计实例演示。

1、学习过FPGA的朋友都知道要想对FPGA逻辑进行仿真一定要具备两个文件,一个是RTL代码文件,用来综合生成硬件电路的部分;第二个就是Testbench文件,用来验证RTL代码功能的仿真文件,这两者缺一不可。

2、根据观察发现官方模板中的代码编辑部分有两个module,大家也都知道一个.v 文件中只能有一个模块,也就是只能有一个module,而这里面有两个,那肯定就不对了。再仔细观察会发现代码编辑区域中的上半部分就是Testbench,而下半部分则是RTL代码,再结合仿真出的波形来更看验证了这个想法。原来 RTL 代码和Testbench都写在了一个编辑框里。

3、但是我们在提供的模板中发现一些我们平时几乎没有见过的新语法,如第4行的”initial `probe_start“、第6行的”`probe(clk)“、第26行的”`probe(in)“,通过模板的注释和多次实验发现这是官方定义的一个”宏“,也就是通过这个”宏“调用“probe”探针的功能,我们不用管这个”宏“是如何定义的,我们只需要会调用就可以了。

4、下面我们通过该网页来仿真验证一下自己设计的呼吸灯的例子。详细代码如下(呼吸灯逻辑和Testbench代码的编写方法这里我们不做讲解,会在以后的文章中再进行详细说明),标红处的注释是需要特别强调的(代码可以全部直接复制使用)。

poYBAGMnzESAPkGhAAEDN6qo8zk048.jpg
pYYBAGMnzEyAMiiOAADIcJhDJ9E980.jpg
poYBAGMnzFSAKc60AADLmQ9x6R0295.jpg
pYYBAGMnzF2AB2S2AAEiVzr2s9I540.jpg
pYYBAGMnzHyAShaTAAFQFGht6p8366.jpg
pYYBAGMnzISAKuBDAAASDPdjVrY553.jpg

5、将上面编写好的Testbench代码和RTL代码放到一个文件中(Testbench在上面,RTL代码在下面,仅在该平台仿真时可以将两种文件放在一起,在其他平台仿真时要独立放到两个.v文件中),然后复制粘贴到代码编辑框中,点击“Submit(new window)“执行仿真。

6a25c330-37b0-11ed-ba43-dac502259ad0.jpg

6、也可以将写好的Testbench代码和RTL代码放到同一个.v文件中,然后点击下面的代码编辑框下面的“Upload a source file...”,在展开的界面中选择添加.v文件后,再点击”Upload and simulate”启动仿真。

6a4e5ba6-37b0-11ed-ba43-dac502259ad0.png

6a602d54-37b0-11ed-ba43-dac502259ad0.png  

7、仿真波形如下所示,因为界面空间有限,拖动波形显示框下面的滚动条,可以看到后面的波形显示。

6a82af32-37b0-11ed-ba43-dac502259ad0.jpg

8、在波形显示框中右击鼠标可以选择保存为PNG格式或SVG格式,将完整的波形信息保存下来。

6aa2ea0e-37b0-11ed-ba43-dac502259ad0.png

9、保存为SVG格式后的完整波形图如下所示。

6ab463b0-37b0-11ed-ba43-dac502259ad0.png

10、如果我们在第58行处代码设置一个错误后,再点击执行仿真,此时在仿真窗口中不会显示波形,而是提示错误的内容,将错误修改后再执行仿真即可。

6af2e9c8-37b0-11ed-ba43-dac502259ad0.png

6b06eb94-37b0-11ed-ba43-dac502259ad0.png

11、该网页还有其他更多有趣的功能,如组合逻辑代码编写训练、时序逻辑代码编写训练、单片机嵌入式仿真等等,有兴趣的朋友可以自己探索,这里不再一一演示。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1664

    文章

    22503

    浏览量

    639274
  • Verilog
    +关注

    关注

    31

    文章

    1374

    浏览量

    114723
  • HDL
    HDL
    +关注

    关注

    8

    文章

    332

    浏览量

    49047

原文标题:学会使用Hdlbits网页版Verilog代码仿真验证平台

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RDMA设计35:基于 SV 的验证平台

    v2 高速数据传输系统进行功能仿真验证,根据设计相关特点搭建了基于 System Verilog仿真验证
    发表于 02-01 13:14

    深入解析rk平台Android Bootloader核心代码:从启动流程到AVB验证

    作为Android设备启动的第道“闸门”,Bootloader(以U-Boot为主)承担着初始化硬件、加载内核、验证镜像完整性的核心职责。今天我们拆解Rockchip平台
    的头像 发表于 01-22 07:06 489次阅读
    深入解析rk<b class='flag-5'>平台</b>Android Bootloader核心<b class='flag-5'>代码</b>:从启动流程到AVB<b class='flag-5'>验证</b>

    【产品介绍】Modelsim:HDL语言仿真软件

    概述ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯的单内核支持VHDL和Verilog混合仿真
    的头像 发表于 11-13 11:41 688次阅读
    【产品介绍】Modelsim:HDL语言<b class='flag-5'>仿真</b>软件

    使用NucleiStudio生成tb仿真需要的.verilog文件

    project编译后生成仿真需要的.verilog文件: 1.打开个工程,右键选择工程名,打开Properties: 2.选择C/C++ Build -&gt;setting,在
    发表于 11-05 07:07

    英飞凌IPOSIM平台加入基于SPICE的模型生成工具,助力提升系统级仿真精度

    与热特性。目前,该平台已集成一款基于SPICE(电路仿真程序)的模型生成工具,可将外部电路和栅极驱动器选型纳入系统级仿真。该工具通过充分考虑器件的非线性半导体物理特
    的头像 发表于 10-27 17:03 759次阅读
    英飞凌IPOSIM<b class='flag-5'>平台</b>加入基于SPICE的模型生成工具,助力提升系统级<b class='flag-5'>仿真</b>精度

    Nucleistudio+Vivado协同仿真教程

    编译完成后,我们会在工程目录下发现生成了.verilog文件,此即为我们仿真需用到的文件,可以将改文件复制保存在tb目录下 联合仿真 在我们前面创建的Vivado工程中添加仿真
    发表于 10-23 06:22

    TI DMD代码

    最近要开发DLPLCRC410EVM,想问问大家有没示例HDL代码,最好是verilog代码,从翻网页也发现实际上是有的,但是不知道为啥官网没有下载
    发表于 09-29 17:40

    Wisim DC电源完整性EDA物理验证仿真工具介绍

    Wisim DC是一款高效、高性能的平台级电源完整性EDA物理验证仿真工具。可快速诊断IC封装和系统级板图内的设计缺陷和电源管理风险,通过定位板图中的“热点”,自动优化VRM感应线位置
    的头像 发表于 09-26 15:57 751次阅读
    Wisim DC电源完整性EDA物理<b class='flag-5'>验证</b><b class='flag-5'>仿真</b>工具介绍

    NVMe高速传输之摆脱XDMA设计23:UVM验证平台

    十分复杂,需要使用成熟的验证知识产权(Verification IP,VIP)保证仿真的准确性和效率,这类的 VIP 通常十分昂贵并且复杂;另方面,PCIE 集成块是 Xilinx
    发表于 08-26 09:49

    jBox分体式软件无线电演示验证平台

    jBox分体式软件无线电演示验证平台(以下简称jBox)是介方信息推出的一款基于SCA4.1/SRTF标准规范设计的高性能、通用性强的软件无线电平台,该
    的头像 发表于 08-14 16:30 1464次阅读
    jBox分体式软件无线电演示<b class='flag-5'>验证</b><b class='flag-5'>平台</b>

    NVMe高速传输之摆脱XDMA设计18:UVM验证平台

    十分复杂,需要使用成熟的验证知识产权(Verification IP,VIP)保证仿真的准确性和效率,这类的 VIP 通常十分昂贵并且复杂;另方面,PCIE 集成块是 Xilinx
    发表于 07-31 16:39

    什么是零代码平台

    )也能轻松构建跨系统、跨设备的自动化流程,而我们的平台,正是这样一款深耕工业自动化领域的零代码解决方案—— 不仅具备上述核心能力,更针对工业场景强化了设备兼容性与流程可靠性:支持 PLC、工业相机、运动
    发表于 07-12 20:28

    AlphaEvolve:一款基于Gemini的编程Agent,用于设计高级算法

    构思创新理念。如今,Google 进步扩展这些能力,将其应用于解决数学基础领域和现代计算中高度复杂的难题。 AlphaEvolve 是一款由大语言模型驱动的进化式编程代理,致力于通用算法的发现与优化。该平台将 Gemini 模
    的头像 发表于 05-19 11:19 1901次阅读
    AlphaEvolve:<b class='flag-5'>一款</b>基于Gemini的编程Agent,用于设计高级算法

    Vim编辑器的基本操作

    代码的世界里,效率是永恒的追求。无论是新手开发者还是资深工程师,都渴望拥有一款能让自己如虎添翼的编辑器。而在Linux生态中,有一款被无数程序员奉为神器、被誉为“效率之王”的
    的头像 发表于 05-06 13:41 1449次阅读
    Vim<b class='flag-5'>编辑</b>器的基本操作

    电磁环境仿真验证系统软件

    电磁环境仿真验证系统软件
    的头像 发表于 04-29 16:59 1255次阅读
    电磁环境<b class='flag-5'>仿真</b>与<b class='flag-5'>验证</b>系统软件