首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Synopsys AXI VIP delay相关信号配置

Data before addr(写数据先于写地址)配置

总结

对于一笔transaction,写数据先于写地址发送的配置流程为:

1. 配置data_before_valid为1

2. 配置reference_event_for_addr_valid_delay

为FIRST_WVALID_DATA_BEFORE_ADDR

3. 配置reference_event_for_first_wvalid_delay

为PREV_WRITE_DATA_HANDSHAKE

4.  配置addr_valid_delay为需要的delay

依赖关系

对于axi协议,写数据和写地址的发送先后没有依赖,可以写数据先于写地址发送,也可以写地址先于写数据发送

延迟配置

Synopsys axi vip可以通过配置svt_axi_transaction::addr_valid_delay,svt_axi_transaction::wvalid_delay来控制写数据和写地址的延迟:

reference_envet配置

需要注意的是,addr_valid_delay和wvalid_delay这两个参数只是定义了延迟的数值,但是究竟相对于哪个参照物的延迟并不知道。需要配置相应的参照为u才可以达到数据先于地址发送的效果。addr_valid_delay的参照物由reference_event_for_addr_valid_delay定义,而wvalid_delay的参照物由reference_event_for_first_wvalid_delay和

reference_event_for_next_wvalid_delay定义。

其中FIRST_WVALID_DATA_BEFORE_ADDR的参照物为当前transaction的写数据通道第一次握手的时刻,它用于写数据先于写地址发送。同时需要配置data_before_addr才会生效。

要想实现写数据先于写地址发送,还需要将wvalid_delay的reference_event配置成PREV_WRITE_DATA_HANDSHAKE才可以。

Axready延迟配置

如果default_axready=0(1),则相对于

reference_event_for_addr_ready_delay延迟addr_ready_delay个时钟周期,axready信号拉高(低)。

但是这样设置在axvalid拉高时,axready要么为高(default_axready=1),要么为低(default_axready=0),无法达到一种随机的效果(可能为高,也可能为低)。

可以通过打开

svt_axi_port_configutation::toggle_ready_signals_during_idle_period使axready可以在axvalid=0时随机翻转.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230308A0ANIL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券