【摘要】:断言语句分为顺序断言语句和并行断言语句,顺序断言语句主要用于进程、函数和过程仿真、调试中的人机对话,它可以给出一个文字串作为警告和错误信息。在进程中先是设定了一条断言语句,目的是:当判断r和s都为‘ 1’时,输出终端将显示字符串“Both s and r equal to ‘ 1’”,同时可能终止模拟过程,并显示错误的严重程度。接下来用IF语句判别触发器的其他三种情况,最后将值送到触发器的两个输出端口上。
4.1.6 断言语句(Assert)
断言语句分为顺序断言语句和并行断言语句,顺序断言语句主要用于进程、函数和过程仿真、调试中的人机对话,它可以给出一个文字串作为警告和错误信息。
断言语句的书写格式如下:
在执行过程中,断言语句对条件(布尔表达式)的真假进行判断:
(1)如果条件为“TURE”,则向下执行另外一条语句;
(2)如果条件为“FALSE”,则输出错误信息和错误严重程度的级别。
在REPORT后面跟着的是设计者写的字符串,通常是说明错误的原因,字符串要用双引号括起来。SEVERITY后面跟着的是错误严重程度的级别,它们分别是:
(1)NOTE(注意)
(2)WARNING(警告)
(3)ERROR(错误)
(4)FAILURE(失败)
【例4.20】 RS触发器的VHDL描述中断言语句的使用。
本例中,如果r和s都为‘ 1’时,表示一种不定状态。在进程中先是设定了一条断言语句,目的是:当判断r和s都为‘ 1’时,输出终端将显示字符串“Both s and r equal to ‘ 1’”,同时可能终止模拟过程,并显示错误的严重程度。接下来用IF语句判别触发器的其他三种情况,最后将值送到触发器的两个输出端口上。另外注意:
(1)若REPORT子句缺省,则默认消息为“Assertion violation”;
(2)若SEVERITY子句缺省,则出错级别的默认值为“ERROR”。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。