本项目旨在为《计算机组成原理》课程提供一个交互式、虚拟化的数字电路实验平台。平台采用 Vue3 + SVG 技术栈开发,支持电路元件建模、电路连接、仿真验证、教学指导等功能,有效解决传统硬件教学中存在的高成本、高门槛和不可重复等问题。
学生可以通过自由拖拽元件、连接电路、运行仿真器,进行丰富的数字电路实验,并通过教学模式或挑战模式提升电路设计能力与理解能力。
- 🧱 支持逻辑门、输入输出器件、存储器等多种元件建模
- 🖱 拖拽式操作,图形化画布,交互直观
- 🔁 支持子电路封装与复用,实现模块化设计
- 📚 支持 PDF 学习资料嵌入式查看
- 🔬 模拟器支持基于事件驱动的逻辑电路仿真
- 🎯 多模式支持:自由设计 / 挑战任务 / 教学实验
提供最开放的实验环境,支持如下功能:
通过任务驱动强化学习效果:
- 系统内置多个实验挑战(如全加器)
- 每题给定输入引脚和输出引脚,设定输入输出的答案
- 用真值表自动验证电路正确性
- 支持项目切换、子电路封装、学习资料查看等功能
以“一位全加器”挑战为例:学生可以使用模拟器验证自己设计的电路,通过启停模拟器查看输入和输出是否正确,确保设计的准确性后再提交实验结果。
学生提交实验设计后,系统会根据真值表自动对比学生的设计输出与预期结果,判定实验是否通过并提供即时反馈。

图文引导式教学,为学生提供平台使用指引:
- 前端框架:Vue 3
- 图形渲染:SVG + Canvas
- 电路仿真:事件驱动模拟器(EventDrivenSimulator)
- 学习资料:PDF 文件加载与展示(pdfjs-dist)
- 基于工作队列与事件驱动机制
- 支持信号传播优化,仅处理变动部分
- 支持多项目 / 多子电路独立连接管理
- 元件拖拽、连接、删除与属性面板
- 电线动态跟随与同步更新
- 支持多个项目画布自由切换
- 按钮切换资料、状态记忆滚动位置
- 使用 canvas 渲染 PDF
- 嵌入式辅助学习设计
Virtual_Project
├── README.md
├── index.html
├── package-lock.json
├── package.json
├── public
│ ├── assets # 元件预览svg
│ └── vite.svg
├── src
│ ├── App.vue
│ ├── assets # 元件svg以及数电实验资料pdf
│ ├── components # 元件建模
│ ├── config
│ ├── logic # 逻辑建模
│ ├── main.js
│ ├── modules
│ ├── router # 路由
│ ├── store # 电路逻辑全局管理
│ ├── style.css
│ └── views # 页面设计
├── tsconfig.json
└── vite.config.js# 在项目根目录下:
# 安装依赖
npm install
# 启动项目
npm run dev
- 增加更多教学实验模块
- 支持电路分享与评分系统
- 优化移动端适配与触控操作
MIT License. 本项目仅用于教学用途,欢迎二次开发与优化。








