github有趣项目:Verilog在线仿真( DigitalJS+edaplayground)
DigitalJS
- https://github.com/tilk/digitaljs
- 这个项目是一个用Javascript实现的数字电路模拟器。 它旨在模拟由硬件设计工具合成的电路 像 Yosys(这里是 Github 存储库),它有一个配套项目 yosys2digitaljs,它可以转换 Yosys 将文件输出到 DigitalJS。它也旨在成为一种教学工具, 因此,可读性和易于检查是 项目。
创建文件
- SystemVerilog 提供了更多高级功能,尤其是在验证方面,使其在现代设计流程中更具优势。SystemVerilog 向后兼容 Verilog,这意味着现有的 Verilog 代码可以在 SystemVerilog 环境中运行,而无需大幅修改。

- 创建一个sv文件


编写代码
module adder (input logic [3:0] a, // 4-bit 输入 a , logic用于替代 reg(寄存器,过程赋值)和 wire (线网,连续赋值)input logic [3:0] b, // 4-bit 输入 boutput logic [4:0] sum // 5-bit 输出 sum,考虑到可能的进位
);assign sum = a + b; // 进行加法运算
endmodule

Run

加载示例


edaplayground使用教程
- https://github.com/edaplayground/eda-playground
- https://www.edaplayground.com/
注册账户

- Register

- https://www.edaplayground.com/register
- 经过测试,学生邮箱是可以用的



运行D触发器示例

可更换仿真工具

波形查看和分析

- 如果想使用EPWave,需要再testbench中加入类似如下的控制语句
initial begin$dumpfile("dump.vcd"); $dumpvars;end

相关文章:
github有趣项目:Verilog在线仿真( DigitalJS+edaplayground)
DigitalJS https://github.com/tilk/digitaljs这个项目是一个用Javascript实现的数字电路模拟器。 它旨在模拟由硬件设计工具合成的电路 像 Yosys(这里是 Github 存储库),它有一个配套项目 yosys2digitaljs,它可以转换 Yosys 将文…...
性能测试学习-基本使用-元件组件介绍(二)
jmeter优点是:开源免费,小巧,丰富的学习资料和扩展组件 缺点是:1.不支持IP欺骗,分析和报表能力相对于LR欠缺精确度(以分钟为单位) 工具用户量分析报表IP欺骗费用体积扩展性Loadrunner多(万)精…...
基于大模型的智慧零售教育科研平台——技术方案
一、概述 1.1背景 随着数字经济的快速发展和全社会数字化水平的升级,人工智能的积极作用越来越凸显,人工智能与各个行业的深度融合已成为促进传统产业转型升级的重要方式之一。ChatGPT的出现掀起了又一波人工智能发展热潮,人工智能行业发展势…...
C# using的几个用途
using 关键字有三个主要用途: 1.using 语句定义一个范围,在此范围的末尾将释放对象: string filePath "example.txt"; string textToWrite "Hello, this is a test message!"; // Use the using statement to ensure …...
MyBatis3.4全集笔记
MyBatis 1. MyBatis 简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Ja…...
IDEA一键启动多个微服务
我们在做微服务项目开发的时候,每次刚打开IDEA,就需要把各个服务一个个依次启动,特别是服务比较多时,逐个点击不仅麻烦还费时。下面来说一下如何一键启动多个微服务。 操作步骤 点击Edit Configurations 2.点击“”,…...
【Python3】random.choices 权重随机选取 详解
random.choices是Python 3中random模块中的一个函数,用于从指定的序列中以指定的权重随机选择元素。下面我将对该函数进行详细介绍,并提供一些示例代码和注意事项。 函数签名: random.choices(population, weightsNone, *, cum_weightsNone…...
【面试题-015】Redis的线程模型是什么 为什么速度快
redis面试题 Redis的线程模型是什么 为什么速度快? Redis是一个开源的、高性能的键值对(key-value)数据库。它之所以速度快,主要得益于以下几个方面的设计: 单线程模型: Redis的操作是单线程的ÿ…...
EasyV开发人员的使用说明书
在可视化大屏项目时,开发人员通常需要承担以下任务: 技术实现:根据设计师提供的设计稿,利用前端技术(如HTML、CSS、JavaScript等)和后端技术(根据具体项目需求,可能是Java、Python、…...
构造列表初始化和构造初始化区别
构造列表初始化和构造初始化在C等编程语言中,是两种不同的初始化类实例成员的方式。以下是它们之间的主要区别: 构造列表初始化(初始化列表) 定义:初始化列表以一个冒号开始,接着是一个以逗号分隔的数据成…...
Message passing mechanism (消息传递机制)
objc_msgSend 是 Objective-C 运行时系统中的一个核心函数,用于实现消息传递机制。在 Objective-C 中,方法调用实际上是消息传递的过程,当你在代码中调用一个方法时,编译器会将其转换为 objc_msgSend 函数的调用。 objc_msgSend …...
详解 Spark SQL 代码开发之数据读取和保存
一、通用操作 /** 基本语法:1.读取:SparkSession.read[.format("format")[.option("...")]].load("path")2.保存:DataFrame.write[.format("format")[.option("...")]][.mode("Save…...
Pulsar 社区周报 | No.2024-05-30 | BIGO 百页小册《Apache Pulsar 调优指南》
“ 各位热爱 Pulsar 的小伙伴们,Pulsar 社区周报更新啦!这里将记录 Pulsar 社区每周的重要更新,每周发布。 ” BIGO 百页小册《Apache Pulsar 调优指南》 Hi,Apache Pulsar 社区的小伙伴们,社区 2024 上半年度的有奖问…...
第二证券股票杠杆:4分钟直线涨停!这一赛道,AH股集体爆发!
今日早盘,A股继续小幅震动收拾,首要股指涨跌互现,两市个股跌多涨少,成交有萎缩的趋势。 盘面上,医药、中字头、旅游、房地产等板块相对活跃,混合实践、玻璃基板、AI手机PC、光刻机等板块跌幅居前。 “中字…...
JavaScript 进阶征途:解锁Function奥秘,深掘Object方法精髓
个人主页:学习前端的小z 个人专栏:JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 🈵Function方法 与 函数式编程💝1 call 💝…...
斜拉桥智慧施工数字孪生
基于图扑自主研发的 HT for Web 产品,利用现场照片及 CAD 图纸,结合 PBR 材质,搭建了具有赛博朋克风格的智慧斜拉桥可视化解决方案,精准复现斜拉桥建造规划过程,辅助运维人员对桥梁基建过程的网格化管理。提高桥梁的建…...
【chatGPT API】Function Calling:将自然语言转换为API调用或数据库查询
文章目录 一. 介绍二. 常见用例与Function Calling调用逻辑三. 调用细节1. 调用行为:tool_choice2. 调用规定:functions 四. 实战:查询公司相关产品 一. 介绍 OpenAI可以根据用户的要求输出一个符合用户要求的入参值。然后用户拿到入参值之后…...
Oracle Hint /*+APPEND*/插入性能总结
oracle append用法 Oracle中的APPEND用法主要用于提高数据插入的效率。 基本用法:在使用了APPEND选项后,插入数据会直接加到表的最后面,而不会在表的空闲块中插入数据。这种做法不需要寻找freelist中的free block,从而避免了在…...
正邦科技(day3)
出厂测试 设备校准 这个需要注意的是校准电流、电压、电感的时候有时候负感器会装反,mcu会坏,需要flash一下清空内存...
mac电脑多协议远程管理软件:Termius 8.4.0激活版下载
Termius 是一款功能强大的跨平台远程访问工具,可用于管理和连接各种远程系统和服务器。它支持SSH、Telnet、SFTP和Serial协议,并提供了键盘快捷键、自动完成和多标签功能,使用户可以方便地控制和操作远程主机。 Termius 提供了端到端的加密保…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
Mac flutter环境搭建
一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...
虚幻基础:角色旋转
能帮到你的话,就给个赞吧 😘 文章目录 移动组件使用控制器所需旋转:组件 使用 控制器旋转将旋转朝向运动:组件 使用 移动方向旋转 控制器旋转和移动旋转 缺点移动旋转:必须移动才能旋转,不移动不旋转控制器…...
