当前位置:网站首页>Assertion based validation
Assertion based validation
2022-06-22 05:52:00 【Silly boy: CPU】
Assertion based verification
The concept of assertion is very simple . Just state in the program , We say that something must be true , If it's not true , Then the error message can be printed on the screen . stay SystemVerilog In language , Assertions can be made immediately (immediate) And concurrency (concurrent) Two different forms of assertions are used to express . Immediate assertions are very concise , It can be used if、else Wait for a statement to say . Concurrent assertions are very powerful , So this section uses most of the articles to explain how to write concurrent assertions .
stay always This fact can be declared as an immediate assertion in the procedure block ( This assertion is equivalent to a always_comb Process block , But to avoid conceptual confusion , We are only in the integrable RTL Use... In the module always_comb).
always @*
assert(~(dispense&&ready))
else $error("dispense and ready both lit!");
The above assertion whenever dispense perhaps ready When the signal changes , Just check if they are both 1. But it is best to detect this condition at the positive jump edge of the clock , Because we are checking a synchronization system . First, write this condition as the following attribute property:
property NotDispenseAndReady;
@(posedge clock)(~(dispense && ready));
endproperty
then , As part of concurrent assertions , Test this property , The code is as follows :
assert property(NotDispenseAndReady);
Attribute definitions and assertion declarations can be combined to write . But common programming style suggestions , For the reuse of attributes , It is best to write attribute definitions and assertion declarations in two parts .
Usually , Concurrent assertions
边栏推荐
- A reminder to cross-border sellers who are still "shopping"!
- Sogou input method cannot output Chinese
- 服务器php相关网页开发环境搭建
- The "decentralization" mode of independent stations has risen, sweeping the tide of cross-border enterprise transformation
- 基于断言的验证
- Delete the packaging use of pop-up components
- 触 发 器
- u盘作为启动盘重装win10系统(无需其他软件)
- SCM future employment development direction, learn SCM must know some entry-level knowledge and industry prospects, read the benefit
- CLion安装下载
猜你喜欢

PID笔记

错误:note: module requires Go 1.17

Machine learning Note 6: number recognition of multiple classification problems in logistic regression

The first week of wechat applet development: page setup, page Jump and data binding

Adaboost

Data storage (Advanced)

Vscode minimalist installation tutorial

想投放Facebook广告却不知从何入手?此文带你深入了解

线性回归:最小二乘、泰尔森估计、RANSAC

Xshell下载安装(解决评估过期问题)
随机推荐
Research Report on global and Chinese active Ethernet access device industry demand trend and investment prospect 2022-2027
Remove then add string from variable of Makefile
A simple method to implement deep cloning and encapsulation of objects JS
使用SystemVerilog门模型描述的组合逻辑
以太网UDP帧发包设计
Innosetup method for judging that the program has run
Redis connection error: err client send auth, but no password is set 2 solutions
The "decentralization" mode of independent stations has risen, sweeping the tide of cross-border enterprise transformation
组合逻辑块的测试平台
大厂晋升学习方法四:Play 学习法
性能优化最佳实践之缩减游戏大小
Golang Viper库入门教学
Air conditioning (daily question 50 in spring)
空调(春季每日一题 50)
Current market situation analysis and investment analysis prospect report of global and Chinese ceramic capacitor industry 2022-2027
面对Google流量红利期,独立站卖家如何借势营销?
Amazon and independent station are not simply two choices
vscode极简安装教程
Learning method 4 for promotion of big factories: play learning method
大厂晋升学习方法三:链式学习法