cocotb的接收和发送逻辑,怎么接收和发送DUT的数据

发送有三种方式

1、根据信号名称实例化

通过前缀连接DUT里面的信号

发送的时候,通过.去访问就可以

2、如果是AXIS总线,可以直接调用cocotb的库文件

AXIS总线可以包含以下的信号

通过这个类,可以产生一个AXIS的一帧数据

类的实现大概如下

给AXIS总线发送数据:

很简单,直接命名0x  16进制,或者   0b  二进制,直接放进去就行了,不用bytes那么复杂的操作。

最最简单的方法:   定义phv_in,然后变成整数就可以输入。

  # test_tuser = 0b0_0_0010_0000_0011_0000_0010_0000_0001原来的这一段,实际上是一个十进制数的二进制表示

3、然后也可以通过.去访问其中的元素,然后发送出去,缺点是不知道发送的时间,不知道发送的时序是什么样的,或者也可以await?

接收的方式

需要注意,接收输出数据如果要用,建议统一转换为小端,

int强制类型转换的时候,int之后的值在python中,和大小端的字节序没有关系,具体如下图。接收的数据,字节序默认是打大端。

在RSS中检查DUT发送的应用报文时,需要关注以下几个方面: 首先,需要验证报文的格式是否正确。这包括报文的头部、主体和尾部。头部应当包含必要的标识符,例如版本号、序列号和源地址等;主体应当包含实际的数据内容;尾部应当包含一些用于校验的数据,如校验和等。通过比对规范文档和实际报文,我们可以确保报文的格式正确无误。 其次,需要检查报文的语法是否正确。这包括使用正确的语言、编码方式、数据类型和数据格式等。例如,在XML格式的报文中,需要正确使用标签、元素、属性和命名空间等;在JSON格式的报文中,需要正确使用键值对和数组等。通过检查语法规则,可以确保报文能够被DUT正确地解析和处理。 第三,需要验证报文的语义是否正确。这包括报文所包含的数据是否符合规范和业务需求。例如,如果一个报文是用于查询学生信息的,则需要验证查询条件、返回结果和数据格式是否正确;如果一个报文是用于支付交易的,则需要验证金额、币种、交易时间和交易状态等是否符合预期。通过检查语义规则,可以确保报文能够达到预期的效果。 最后,需要检查报文的安全性和稳定性。这包括报文的加密和解密、防御攻击和保证性能等。例如,在HTTPS或SSL/TLS协议下发送的报文需要确保加密和解密的安全性;在遇到恶意攻击或流量过载时,需要保证DUT的鲁棒性和稳定性。通过检查安全和稳定性,可以确保报文在传输过程中能够保持机密性、完整性和可用性。 综上所述,在RSS中检查DUT发送的应用报文需要关注格式、语法、语义和安全性等方面。同时需要结合实际业务需要和规范要求,制定相应的测试用例和结果验证方法。只有通过严格的测试和验证,才能确保DUT在实际使用中能够正常工作,提高产品质量和用户满意度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值