集成电路专业教学一体化解决方案

自动评测实验环境

● Verilog自动评测
学生根据题目要求,使用Verilog硬件描述语言实现特定功能的电路。仿真验证通过后,将Verilog源文件提交至希冀平台,由希冀平台的Verilog自动评测系统来评测学生所实现电路的功能是否正确。提供了配套的Verilog实验题库,包含Verilog语言基础题目、数字部件设计题目,以及CPU综合设计等实验题目。


● Logisim自动评测
学生根据题目要求,使用Logisim软件通过绘制电路图的方式实现特定功能的电路。仿真调试通过后,将Logisim电路源文件提交至希冀平台,由希冀平台的Logisim自动评测系统来评测学生所实现电路的功能是否正确。提供了配套的Logisim实验题库,包括特定功能电路设计题目和CPU综合设计题目。


● Matlab(Octave)自动评测
学生根据题目要求,使用Matlab语言编写程序分析电路特性,求解题目中给出的具体问题,例如求解视在功率、求解功率因数、绘制幅频特性图、绘制相频特性图等。Matlab代码编写调试完毕后,将程序提交至希冀平台,由希冀平台的Matlab自动评测系统评测学生所实现电路分析程序的功能和求解结果是否正确。Matlab自动评测系统提供了配套的电路分析实验题库。

● Spice自动评测
学生根据题目要求,使用Spice语言编写电路网表文件,求解题目中给出的具体问题,例如进行交流分析、绘制幅频特性图、求解幅值最大的频点等。网表文件编写调试完毕后,将该文件提交至希冀平台,由希冀平台的Spice自动评测系统评测学生所实现电路分析程序的功能和求解结果是否正确。Spice自动评测系统提供了配套的电路分析实验题库。

● 汇编语言自动评测
学生根据题目要求,使用NASM或者MARS编写汇编语言程序,求解题目中给出的具体问题。汇编代码编写调试完毕后,将汇编源程序提交至希冀平台,由希冀平台的汇编语言自动评测系统评测学生所实现程序的功能是否正确。汇编语言自动评测系统提供了配套的编程实验题库。

● C/C++程序自动化评测
详见希冀程序设计类课程教学系统。

在线实验环境

● 随时随地在线实验
基于希冀云桌面实验平台,为学生提供了“开箱即用”的集成在线实验环境。实验页面分左右两栏,左栏为实验指导手册,右栏为云桌面实验环境。在云桌面实验环境内,安装了实验所需的各类软件,集成了各实验所需的实验支撑材料。

● 支持多种实验软件
通过希冀云桌面实验平台,针对各课程提供相应的实验软件在线实验环境,包括但不限于:

◼ Vivado,Vivado设计套件是FPGA厂商赛灵思公司2012年发布的集成设计环境,包括高度集成的设计环境和新一代从系统到IC级的工具。
◼ Iverilog+GTKWave+VSCode,Icarus Verilog(Iverilog)是一个轻量、免费、开源的Verilog编译器,遵循 GNU GPL license 许可证,支持Verilog/VHDL文件的编译和仿真,提供类似gcc的命令行操作方式。通过testbench文件可以生成对应的仿真波形数据文件,通过自带的GTKWave可查看仿真波形图。学生可以在VSCode中编写Verilog代码,使用Iverilog插件或者命令行方式编译仿真,通过GTKWave查看仿真波形图。
◼ Logisim,Logisim是一种用于设计和模拟数字逻辑电路的教学软件,具有界面简单、提供动态仿真等功能,有助于学生学习与逻辑电路相关的最基本概念。在Logisim中,学生能够以小规模子电路为基础逐步构建大规模数字集成电路,从而达到相关课程的实验教学目的。
◼ Octave(Matlab),Octave为GNU项目下的开源软件,旨在解决线性和非线性的数值计算问题。该软件提供基于QT编写的GUI交互界面。Octave语法与Matlab语法非常接近,常被成称之为“开源的Matlab”,Matlab程序可以很容易移植到Octave。可以基于Octave的相关包开展电路分析、通信原理、高频电路等课程的实验。
◼ MARS,MARS MIPS模拟器是MIPS处理器的汇编语言编辑器、汇编器、模拟器和调试器。MARS提供了一个轻量级的交互式集成开发环境(IDE),可用于开展MIPS汇编语言程序设计实验。
◼ NASM,x86平台上的汇编语言编译器,支持大量的文件格式,包括Linux,*BSD,a.out,ELF,COFF,Mach−O,Microsoft 16−bit OBJ,Win32以及Win64,同时也支持简单的二进制文件生成。
◼ Spice,SPICE广泛应用在模拟电路仿真、混合信号电路、精确数字电路、SoC时序与功耗、系统级信号完整性分析等集成电路子领域。Spice是最早的电子设计自动化软件,在今天仍然是很重要的集成电路仿真软件。

FPGA云计算平台

● 支持私有云部署的FPGA云计算平台
通过将多块FPGA开发板高密度封装于标准化机箱中,可安装交付到高校实验室中,实现私有云部署。

● 与希冀云桌面实验环境无缝融合
学生在云桌面内可通过双击FPGA桌面图标,即可分配到一块FPGA硬件开发板。在做实验的过程中,学生对分配的开发板是独占的。

● 支持交互式使用远程硬件开发板
通过Jupyter Notebook连接远程开发板,使用Python程序交互式加载和运行比特流文件。比特流文件在FPGA上的运行结果可通过文本或者波形图的方式显示。

课程实验体系

面向提升集成电路专业学生工程实践能力的实验体系,提供多门实验课程,包括但不限于:

课程列表 点击课程名称,可以查看对应的实验列表
● Verilog硬件描述语言 ● 数字电路
● 计算机组成原理 ● 处理器设计
● 智能处理器设计 ● 汇编语言程序设计
● 电路分析 ● FPGA技术
● VLSI数字信号处理 ● VLSI数字通信原理与设计
● 数字集成电路设计 ● CMOS模拟集成电路设计
... ...
部分课程与实验
实验课程 知识点 实验名称 试验任务 自动评测

Verilog硬件描述语言

Verilog基础
1、输出0 实现Verilog基础电路。
2、其他的门 实现Verilog基础电路。
3、两个门 实现Verilog基础电路。
4、wire类型 实现Verilog基础电路。
5、Four wires 实现Verilog基础电路。
6、非门 实现Verilog基础电路。
7、与门 实现Verilog基础电路。
8、或非门 实现Verilog基础电路。
9、声明wire 实现Verilog基础电路。
10、7458模块 实现Verilog基础电路。
11、vector介绍 实现Verilog基础电路。
12、vector细节 实现Verilog基础电路。
13、vector片选 实现Verilog基础电路。
14、位级操作 实现Verilog基础电路。
15、4位vector 实现Verilog基础电路。
16、vector连接 实现Verilog基础电路。
17、vector反转 实现Verilog基础电路。
18、模块 实现Verilog基础电路。
19、按位置连接端口 实现Verilog基础电路。
20、按名称连接端口 实现Verilog基础电路。
21、三目算符 实现Verilog基础电路。
22、优化运算1 实现Verilog基础电路。
23、优化运算2 实现Verilog基础电路。
24、或非门 实现Verilog基础电路。
25、两位相等 实现Verilog基础电路。
26、tb_时钟 实现Verilog基础电路。
27、tb_与门 实现Verilog基础电路。
组合电路
28、简单电路A 实现特定组合电路。
29、简单电路B 实现特定组合电路。
30、简单电路AB 实现特定组合电路。
31、always-组合逻辑 实现特定组合电路。
32、if语句 实现特定组合电路。
33、if语句引发锁存 实现特定组合电路。
34、case语句 实现特定组合电路。
35、简单编码器 实现特定组合电路。
36、避免锁存 实现特定组合电路。
37、3位计数器 实现特定组合电路。
38、2选1多路选择器 实现特定组合电路。
39、2选1总线 实现特定组合电路。
40、9选1 实现特定组合电路。
41、组合电路1 实现特定组合电路。
42、组合电路2 实现特定组合电路。
43、组合电路3 实现特定组合电路。
44、组合电路4 实现特定组合电路。
45、组合电路5 实现特定组合电路。
46、组合电路6 实现特定组合电路。
时序逻辑
47、三个模块-移位寄存器 实现特定时序电路。
48、模块与vector 实现特定时序电路。
49、D触发器 实现特定时序电路。
50、D触发器组合 实现特定时序电路。
51、异步复位触发器 实现特定时序电路。
52、同步复位触发器 实现特定时序电路。
53、同步复位触发器组 实现特定时序电路。
54、同步复位特殊值触发器组 实现特定时序电路。
55、可异步复位的触发器组 实现特定时序电路。
56、带控制端的触发器组 实现特定时序电路。
57、D锁存器 实现特定时序电路。
58、门控触发器 实现特定时序电路。
59、多路选择器与触发器1 实现特定时序电路。
60、多路选择器与触发器2 实现特定时序电路。
61、根据真值表实现电路 实现特定时序电路。
62、上升沿检测 实现特定时序电路。
63、时序电路7 实现特定时序电路。
64、时序电路8 实现特定时序电路。
65、改错_键盘数字检测 实现特定时序电路。
66、算数左右移 实现特定时序电路。
状态机
67、fsm1 实现特定状态机。
68、fsm1s 实现特定状态机。
69、fsm3comb 实现特定状态机。
70、fsm3 实现特定状态机。
71、旅鼠1 实现特定状态机。
72、旅鼠2 实现特定状态机。
73、旅鼠3 实现特定状态机。
74、旅鼠4 实现特定状态机。
75、序列识别 实现特定状态机。
76、验证1000序列(Moore) 实现特定状态机。
77、验证1000序列(Mealy) 实现特定状态机。
78、验证1101序列(Mealy) 实现特定状态机。
79、验证1101序列(Moore) 实现特定状态机。
......
......
......
......

数字电路

综合实验
1、swap电路 实现特定电路。
2、排序电路 实现特定电路。
3、2^n mod 5求解 实现特定电路。
4、斐波那契数列-入门级 实现特定电路。
5、斐波那契数列-挑战级 实现特定电路。
6、CRC校验码计算 实现特定电路。
7、字符自动机-入门级 实现特定电路。
8、字符自动机-进阶级 实现特定电路。
9、计数器 实现特定电路。
10、字符自动机-Verrilog 实现特定电路。
11、格雷码计数器 实现特定电路。
12、表达式状态机 实现特定电路。
13、表达式状态机-允许括号 实现特定电路。
......
......
......
......

计算机组成原理

计数器
1、四位二进制计数器 实现特定计数器。
2、十进制计数器0 实现特定计数器。
3、十进制计数器1 实现特定计数器。
4、慢速十进制计数器 实现特定计数器。
5、counter1-12 实现特定计数器。
6、计数器1000 实现特定计数器。
7、四位移位寄存器和递减计数器 实现特定计数器。
加法器
8、加法器1 实现特定加法器。
9、加法器2 实现特定加法器。
10、进位选择加法器 实现特定加法器。
11、加减法器 实现特定加法器。
12、半加器 实现特定加法器。
13、全加器 实现特定加法器。
14、3位加法器 实现特定加法器。
15、adder练习 实现特定加法器。
16、溢出检测 实现特定加法器。
17、bcd加法器 实现特定加法器。
18、改错_加法器减法器 实现特定加法器。
19、32位逐位进位加法器 实现特定加法器。
20、32位选择进位加法器 实现特定加法器。
21、32位超前进位加法器 实现特定加法器。
乘法器
22、8位乘法器 实现特定乘法器。
23、8位流水乘法器 实现特定乘法器。
数字部件综合设计
24、4位比较器 实现特定比较器。
25、4位全加器 实现特定加法器。
26、4位加法器 实现特定加法器。
27、4位ALU 实现特定ALU。
28、32位六运算ALU 实现特定ALU。
模块化小CPU设计
29、实验1:取指单元 实现CPU取指单元
30、实验2:寄存器堆 实现CPU寄存器堆。
31、实验3:ALU 实现CPU的算数逻辑运算器。
32、实验4:DataMem 实现CPU的数据存储器。
33、实验5:ALU控制模块 实现CPU的ALU控制模块。
34、实验6:控制器 实现CPU的控制器。
......
......
......
......

处理器设计

模块化CPU设计
1、寄存器堆(RegFile) 实现寄存器堆。
2、取指级(PC)的基本实现 实现取指。
3、取指-译码中间级(IFID) 实现取指-译码中间级。
4、译码级(ID)的基本实现 实现译码级。
5、执行级(EX)的基本实现 实现执行级。
6、访存级(MEM)的基本实现 实现仿存级。
7、写回级(WB)的基本实现 实现写回级。
8、解决寄存器读写冲突 解决寄存器读写冲突。
9、让取指级(PC)支持分支 让取指级支持分支。
10、让译码级(ID)支持分支 让译码级支持分支。
11、让译码级(ID)支持访存 让译码级支持访存。
12、让执行级(EX)支持访存 让执行级支持访存。
13、访存级(MEM)的完整实现 实现完整的访存级。
14、写回级(WB)的完整实现 实现完整的写回级(WB)。
15、让取指级(PC)支持暂停 让取指级支持暂停。
16、译码级(ID)冲突检测 实现译码级冲突检测 。
17、执行级(EX)冲突检测 实现执行级冲突检测。
18、访存级(MEM)冲突检测 实现访存级冲突检测。
19、解决访存冲突 解决访存冲突。
20、实现流水线控制器 实现流水线控制器。
CPU综合设计
21、单周期CPU(logisim) 实现单周期CPU。
22、单周期CPU(verilog) 实现单周期CPU。
23、多周期CPU(MIPS-lite4指令集) 实现多周期CPU。
24、多周期CPU(MIPS-C3指令集) 实现多周期CPU。
......
......
......
......

智能处理器

模块化智能处理器设计
1、谷歌TPU简化模型 实现极简TPU模型。
2、脉动阵列及其实现 实现脉动阵列。
3、指令并行和数据并行 实现指令并行和数据并行。
4、MyTPU整体设计与性能评估 实现MyTPU。
5、运行MLP图像分类应用 实现MyTPU上MLP的正确运行。
......
......
......
......

汇编语言程序设计

综合实验
1、判断闰年 根据题目要求编写汇编程序。
2、稀疏矩阵转三元组 根据题目要求编写汇编程序。
3、哈密顿回路(递归) 根据题目要求编写汇编程序。
4、矩阵乘法 根据题目要求编写汇编程序。
5、选择排序 根据题目要求编写汇编程序。
6、回文串判断 根据题目要求编写汇编程序。
7、全排列 根据题目要求编写汇编程序。
8、字符统计 根据题目要求编写汇编程序。
9、矩阵的2^n次幂 根据题目要求编写汇编程序。
10、0-1迷宫(深度优先遍历) 根据题目要求编写汇编程序。
11、矩阵转置相加 根据题目要求编写汇编程序。
12、倒序全排列 根据题目要求编写汇编程序。
13、计数排序 根据题目要求编写汇编程序。
......
......
......
......

电路分析

电路分析
1、求电压源的平均功率、无功率和视在功率。 根据题目要求编写求解程序。
2、求电路等效模型。 根据题目要求编写求解程序。
3、求多个器件电压相量图。 根据题目要求编写求解程序。
4、求电压电流波形图。 根据题目要求编写求解程序。
5、求幅频特性图。 根据题目要求编写求解程序。
6、求相频特性图。 根据题目要求编写求解程序。
7、求电路的平均功率和功率因数。 根据题目要求编写求解程序。
8、求RLC串联电路各元件电压波形图。。 根据题目要求编写求解程序。
9、求电路功率因数最大时R、L的值。 根据题目要求编写求解程序。
......
......
......
......

......

......
......
......
......