CN109190093A - 一种在线Verilog代码自动判决系统的自动评分方法 - Google Patents

一种在线Verilog代码自动判决系统的自动评分方法 Download PDF

Info

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
Application number
CN201811006393.1A
Other languages
English (en)
Other versions
CN109190093B (zh
Inventor
黄继业
谢尚港
陆燕怡
马德
曾毓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Electronic Science and Technology University
Original Assignee
Hangzhou Electronic Science and Technology University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Electronic Science and Technology University filed Critical Hangzhou Electronic Science and Technology University
Priority to CN201811006393.1A priority Critical patent/CN109190093B/zh
Publication of CN109190093A publication Critical patent/CN109190093A/zh
Application granted granted Critical
Publication of CN109190093B publication Critical patent/CN109190093B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, 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代码自动判决系统的自动评分方法
技术领域
本发明涉及在线教育领域中在线代码自动判决,尤其涉及一种在线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,返回网页学生成绩并删除答案文件夹。
CN201811006393.1A 2018-08-30 2018-08-30 一种在线Verilog代码自动判决系统的自动评分方法 Active CN109190093B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309302A (zh) * 2020-02-06 2020-06-19 杭州电子科技大学 一种基于LaTeX的四则运算与三角函数混合运算公式转换Verilog代码的方法

Citations (3)

* Cited by examiner, † Cited by third party
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 常州工学院 一种智能阅卷方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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