CN109190093A - 一种在线Verilog代码自动判决系统的自动评分方法 - Google Patents
一种在线Verilog代码自动判决系统的自动评分方法 Download PDFInfo
- Publication number
- CN109190093A CN109190093A CN201811006393.1A CN201811006393A CN109190093A CN 109190093 A CN109190093 A CN 109190093A CN 201811006393 A CN201811006393 A CN 201811006393A CN 109190093 A CN109190093 A CN 109190093A
- Authority
- CN
- China
- Prior art keywords
- file
- answer
- result
- folder
- cmp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013077 scoring method Methods 0.000 title claims abstract description 10
- 238000004088 simulation Methods 0.000 claims abstract description 9
- 230000005284 excitation Effects 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 16
- 235000013399 edible fruits Nutrition 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000003362 replicative effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/0053—Computers, e.g. programming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了在线Verilog代码自动判决系统的自动评分方法:系统访问标准答案库,复制对应的标准答案文件存放到临时文件夹;系统运行标准答案文件夹中的.do文件、.vt文件编译学生提交的Verilog代码文件,并进行库的加载;系统在linux下运行modelsim进行.vt仿真,根据学生提交的答案Verilog文件进行仿真,截取控制台输出至.result文件;系统根据.tm文件中所书写的时间范围,对比仿真结果.result文件和标准答案.cmp文件计算得到分数结果。本发明.do文件使用vsim指令编译学生答案.V文件和答案文件夹中的.vt文件,并根据.vt文件进行仿真。题目所需要输出的待测试模块,各个信号的激励以及抓取信号的指令$monitor都写在.vt文件中。从而架构其整个Verilog代码判决系统,大大降低了对于Verilog类题目判决的成本。
Description
技术领域
本发明涉及在线教育领域中在线代码自动判决,尤其涉及一种在线Verilog代码自动判决系统的自动评分方法。
背景技术
在EDA(Electronic Design Automatic电子设计自动化)课程在线教育过程中,对Verilog题目判决是一种全新的在线教育方法,有着较为广泛的应用前景;而实现对Verilog题目判决这种功能的关键在于设计并实现一套在现有EDA工具下关于Verilog代码解析,仿真和判决的算法,尤其是关于Verilog代码的解析和仿真;在传统的技术中,通常是关于c或者c++代码判题的系统,应用于ACM比赛当中,并没有关于Verilog代码判题的系统。
发明内容
本发明实施例提供了一种在线Verilog代码自动判决系统的自动评分方法,可以判断Verilog代码答案的正确度,减少人工参与,从而降低判题成本。
为了解决上述技术问题,本发明实施例提供的一种在线Verilog代码自动判决系统的自动评分方法,包括以下步骤:
S1,系统访问标准答案库,复制对应的标准答案文件存放到临时文件夹;标准答案文件包括.do文件,.vt文件,.cmp文件,.tm文件,其中.do文件用于编译verilog代码和.vt文件,.vt文件用于对输入信号进行激励和对输出信号进行抓取,.cmp文件用于对比输出结果,.tm文件用于记录输出对比所需要忽略的时间范围;
S2,系统运行标准答案文件夹中的.do文件、.vt文件编译学生提交的Verilog代码文件,并进行库的加载;其中所需要的库写在.do文件内;
S3,系统在linux下运行modelsim进行.vt仿真,根据学生提交的答案Verilog文件进行仿真,截取控制台输出至.result文件;
S4,系统根据.tm文件中所书写的时间范围,对比仿真结果.result文件和标准答案.cmp文件计算得到分数结果,计算方式为:(1-不匹配的时间点的总数/.cmp文件中的时间点总数)×100,如果结果为复数就记为0。
优选地,所述系统访问标准答案库,复制对应的标准答案文件存放到临时文件夹,具体包括:
S10,系统根据题目寻找到标准答案库中相对应的标准答案;
S11,新建临时答案文件夹;复制标准答案.do文件,.vt文件,.tm文件,.cmp文件放入系统临时的答案文件夹。
优选地,所述系统运行标准答案文件夹中的.do文件、.vt文件编译学生提交的Verilog代码文件,并进行库的加载,具体包括:
S20,建立modelsim工程编译学生提交的Verilog代码和答案文件夹中的.vt文件;
S21,若是编译不成功返回编译错误结果,删除答案文件夹;若是编译成功,运行.do文件,通过vsim命令进行库文件的添加以及.vt的仿真。
优选地,所述系统在linux下运行modelsim进行.vt仿真,具体包括:
S30,运行.vt文件,其中所需要输出的待测试模块,各个信号的激励以及抓取信号的指令$monitor都写在.vt文件中;
S31,将所有输出打包成为.result文件。
优选地,所述系统根据.tm文件中所书写的时间范围,对比仿真结果.result文件和标准答案.cmp文件计算得到分数结果,具体包括:
S40,系统对比两个文件的输出信号结果,若是结果正确则继续;若是结果错误直接返回网页零分,并删除答案文件夹;
S41,系统根据.tm文件中所书写的时间范围,对比.cmp文件和带时间戳的仿真结果.result文件,根据(1-不匹配的时间点的总数/.cmp文件中的时间点总数)×100,如果结果为复数就记为0,得到学生分数成绩;
S42,返回网页学生成绩并删除答案文件夹。
本发明的有益效果如下:
通过建立独立进程的方式使得实现多用户同时访问的功能;通过答案库现有的.vt文件使得系统可以对于学生的答案进行仿真并得到相关的输出文件,从而与标准答案进行对比。其中的.vt件是教师根据题目编写verilog代码编译和编辑.vwf波形文件后仿真得到的,与标准答案.cmp以及时间范围.tm文件一起存入答案库中,为对比得到答案的准确率做准备。这些文件有效地支持了整个Verilog答案的编译,仿真,正确率判断的过程。实现Verilog代码正确率判断。独立进程的答案判断运行满足了多用户同时访问的要求。
附图说明
图1为本发明实施例的在线Verilog代码自动判决系统的自动评分方法的步骤流程图;
图2为本发明实施例的在线Verilog代码自动判决系统的自动评分方法中具体步骤流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
首先,需要了解的是本发明所述一种在线Verilog代码自动判决系统的自动评分方法,在本实施例中是用于实现关于Verilog类题目代码的正确率高低的判决系统。当判题系统运行时,其系统将开启一个独立的进程进行答案判定。
参见图1,为本发明实施例的本发明的技术方案为在线Verilog代码自动判决系统的自动评分方法的步骤流程图,包括以下步骤:
S1,系统访问标准答案库,复制对应的标准答案文件存放到临时文件夹;标准答案文件包括.do文件,.vt文件,.cmp文件,.tm文件,其中.do文件用于编译verilog代码和.vt文件,.vt文件用于对输入信号进行激励和对输出信号进行抓取,.cmp文件用于对比输出结果,.tm文件用于记录输出对比所需要忽略的时间范围;
S2,系统运行标准答案文件夹中的.do文件、.vt文件编译学生提交的Verilog代码文件,并进行库的加载;其中所需要的库写在.do文件内;
S3,系统在linux下运行modelsim进行.vt仿真,根据学生提交的答案Verilog文件进行仿真,截取控制台输出至.result文件;
S4,系统根据.tm文件中所书写的时间范围,对比仿真结果.result文件和标准答案.cmp文件计算得到分数结果,计算方式为:(1-不匹配的时间点的总数/.cmp文件中的时间点总数)×100,如果结果为复数就记为0。
参见图2,为具体实施例的步骤流程图,S1系统访问标准答案库,复制对应的标准答案文件存放到临时文件夹,具体包括:
S10,系统根据题目寻找到标准答案库中相对应的标准答案;
S11,新建临时答案文件夹;复制标准答案.do文件,.vt文件,.tm文件,.cmp文件放入系统临时的答案文件夹。
S2系统运行标准答案文件夹中的.do文件、.vt文件编译学生提交的Verilog代码文件,并进行库的加载,具体包括:
S20,建立modelsim工程编译学生提交的Verilog代码和答案文件夹中的.vt文件;
S21,若是编译不成功返回编译错误结果,删除答案文件夹;若是编译成功,运行.do文件,通过vsim命令进行库文件的添加以及.vt的仿真。
S3系统在linux下运行modelsim进行.vt仿真,具体包括:
S30,运行.vt文件,其中所需要输出的待测试模块,各个信号的激励以及抓取信号的指令$monitor都写在.vt文件中;
S31,将所有输出打包成为.result文件。
S4系统根据.tm文件中所书写的时间范围,对比仿真结果.result文件和标准答案.cmp文件计算得到分数结果,具体包括:
S40,系统对比两个文件的输出信号结果,若是结果正确则继续;若是结果错误直接返回网页零分,并删除答案文件夹;
S41,系统根据.tm文件中所书写的时间范围,对比.cmp文件和带时间戳的仿真结果.result文件,根据(1-不匹配的时间点的总数/.cmp文件中的时间点总数)×100,如果结果为复数就记为0,得到学生分数成绩;
S42,返回网页学生成绩并删除答案文件夹。
上述判题过程使用多进程方式,每个进程都能执行完整的判题操作,使得多用户能同时访问,满足了用户的需求。
上述本申请实施例中的技术方案,可以判断Verilog代码的语法正确性,可以判断Verilog答案的效果正确性,可以返回Verilog代码的错误原因,可以直接返回成绩给用户,可以多用户同时进行判决。所以,有效解决了现有技术中缺乏关于Verilog类题目答案的判决系统的技术问题,进而实现了能够智能化、不间断运行、无人工操作的判决Verilog代码正确率的技术效果。
本方法对其他HDL硬件描述语言的题目也同样适用,包括VHDL、System C和SystemVerilog。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种在线Verilog代码自动判决系统的自动评分方法,其特征在于,包括:
S1,系统访问标准答案库,复制对应的标准答案文件存放到临时文件夹;标准答案文件包括.do文件,.vt文件,.cmp文件,.tm文件,其中.do文件用于编译verilog代码和.vt文件,.vt文件用于对输入信号进行激励和对输出信号进行抓取,.cmp文件用于对比输出结果,.tm文件用于记录输出对比所需要忽略的时间范围;
S2,系统运行标准答案文件夹中的.do文件、.vt文件编译学生提交的Verilog代码文件,并进行库的加载;其中所需要的库写在.do文件内;
S3,系统在linux下运行modelsim进行.vt仿真,根据学生提交的答案Verilog文件进行仿真,截取控制台输出至.result文件;
S4,系统根据.tm文件中所书写的时间范围,对比仿真结果.result文件和标准答案.cmp文件计算得到分数结果,计算方式为:(1-不匹配的时间点的总数/.cmp文件中的时间点总数)×100,如果结果为复数就记为0。
2.根据权利要求1所述的方法,其特征在于,所述系统访问标准答案库,复制对应的标准答案文件存放到临时文件夹,具体包括:
S10,系统根据题目寻找到标准答案库中相对应的标准答案;
S11,新建临时答案文件夹;复制标准答案.do文件,.vt文件,.tm文件,.cmp文件放入系统临时的答案文件夹。
3.根据权利要求1所述的方法,其特征在于,所述系统运行标准答案文件夹中的.do文件、.vt文件编译学生提交的Verilog代码文件,并进行库的加载,具体包括:
S20,建立modelsim工程编译学生提交的Verilog代码和答案文件夹中的.vt文件;
S21,若是编译不成功返回编译错误结果,删除答案文件夹;若是编译成功,运行.do文件,通过vsim命令进行库文件的添加以及.vt的仿真。
4.根据权利要求1所述的方法,其特征在于,所述系统在linux下运行modelsim进行.vt仿真,具体包括:
S30,运行.vt文件,其中所需要输出的待测试模块,各个信号的激励以及抓取信号的指令$monitor都写在.vt文件中;
S31,将所有输出打包成为.result文件。
5.根据权利要求1所述的方法,其特征在于,所述系统根据.tm文件中所书写的时间范围,对比仿真结果.result文件和标准答案.cmp文件计算得到分数结果,具体包括:
S40,系统对比两个文件的输出信号结果,若是结果正确则继续;若是结果错误直接返回网页零分,并删除答案文件夹;
S41,系统根据.tm文件中所书写的时间范围,对比.cmp文件和带时间戳的仿真结果.result文件,根据(1-不匹配的时间点的总数/.cmp文件中的时间点总数)×100,如果结果为复数就记为0,得到学生分数成绩;
S42,返回网页学生成绩并删除答案文件夹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811006393.1A CN109190093B (zh) | 2018-08-30 | 2018-08-30 | 一种在线Verilog代码自动判决系统的自动评分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811006393.1A CN109190093B (zh) | 2018-08-30 | 2018-08-30 | 一种在线Verilog代码自动判决系统的自动评分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109190093A true CN109190093A (zh) | 2019-01-11 |
CN109190093B CN109190093B (zh) | 2022-11-08 |
Family
ID=64916987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811006393.1A Active CN109190093B (zh) | 2018-08-30 | 2018-08-30 | 一种在线Verilog代码自动判决系统的自动评分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109190093B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309302A (zh) * | 2020-02-06 | 2020-06-19 | 杭州电子科技大学 | 一种基于LaTeX的四则运算与三角函数混合运算公式转换Verilog代码的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4705479A (en) * | 1984-07-09 | 1987-11-10 | Maron Melvin J | Process of teaching |
CN105447907A (zh) * | 2015-11-13 | 2016-03-30 | 江苏科技大学 | 一种基于立体重构的工程制图作业智能批改方法及系统 |
CN106846203A (zh) * | 2017-03-09 | 2017-06-13 | 常州工学院 | 一种智能阅卷方法及系统 |
-
2018
- 2018-08-30 CN CN201811006393.1A patent/CN109190093B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4705479A (en) * | 1984-07-09 | 1987-11-10 | Maron Melvin J | Process of teaching |
CN105447907A (zh) * | 2015-11-13 | 2016-03-30 | 江苏科技大学 | 一种基于立体重构的工程制图作业智能批改方法及系统 |
CN106846203A (zh) * | 2017-03-09 | 2017-06-13 | 常州工学院 | 一种智能阅卷方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309302A (zh) * | 2020-02-06 | 2020-06-19 | 杭州电子科技大学 | 一种基于LaTeX的四则运算与三角函数混合运算公式转换Verilog代码的方法 |
CN111309302B (zh) * | 2020-02-06 | 2023-04-18 | 杭州电子科技大学 | 一种基于LaTeX的四则运算与三角函数混合运算公式转换Verilog代码的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109190093B (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Foster et al. | Assertion-based design | |
Armstrong et al. | Structured logic design with VHDL | |
Cohen et al. | Using PSL/Sugar for formal and dynamic verification: Guide to Property Specification Language for Assertion-based Verification | |
US20090083683A1 (en) | Method and Apparatus for Implementing Communication Between a Software Side and a Hardware Side of a Test Bench in a Transaction-Based Acceleration Verification System | |
US10489534B1 (en) | Support for multiple user defined assertion checkers in a multi-FPGA prototyping system | |
Weinberg et al. | A principle-based parser for foreign language tutoring in German and Arabic | |
Han | Machine translation evaluation resources and methods: A survey | |
US7418680B2 (en) | Method and system to check correspondence between different representations of a circuit | |
KR20010023096A (ko) | 트랜지스터 회로의 타이밍 특성 추출 방법, 타이밍 특성 라이브러리를 기억한 기억 매체, lsi의 설계 방법, 및 게이트 추출 방법 | |
CN109032947A (zh) | 用于操作系统的测试方法、装置、设备和存储介质 | |
CN114021440B (zh) | 一种基于matlab的fpga时序仿真验证方法及装置 | |
Batten | An open-source python-based hardware generation, simulation, and verification framework | |
CN109190093A (zh) | 一种在线Verilog代码自动判决系统的自动评分方法 | |
Wasserman et al. | The Oregon Report Software Engineering: The Turning Point | |
Cohen et al. | SystemVerilog Assertions Handbook:--for Formal and Dynamic Verification | |
US9104829B2 (en) | Method of validating timing issues in gate-level simulation | |
Dewey | VHSIC hardware description (VHDL) development program | |
Jones | Applications of symbolic simulation to the formal verification of microprocessors | |
Roy et al. | COLDVL: a virtual laboratory tool with novel features to support learning in logic design and computer organisation | |
Barnat et al. | Model checking in IPv6 Hardware Router Design | |
Maurer | Electrical design automation: An essential part of a computer engineer's education | |
US10726180B1 (en) | Systems and methods for fixing X-pessimism from uninitialized latches in gate-level simulation | |
Dreesen | Standard cell development flow | |
Cohen | Component design by example: A step-by-step process using VHDL with UART as vehicle | |
Niklas et al. | Consistency checks of design specifications against requirements using graph-based linguistic analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20190111 Assignee: HANGZHOU KONXIN SOC Co.,Ltd. Assignor: HANGZHOU DIANZI University Contract record no.: X2024330000012 Denomination of invention: An automatic scoring method for an online Verilog code automatic judgment system Granted publication date: 20221108 License type: Common License Record date: 20240202 |
|
EE01 | Entry into force of recordation of patent licensing contract |