验证环境采样rtl时序数据遇到的问题

记录验证环境采样rtl时序数据遇到的问题

需要解决的问题:

  • 需要在每个时钟周期查看read_en信号是否生效,如果生效在下个周期拿出data

  • wave示例:

  • 注释:read_en为3bit低有效数据,即当read_en != 'h7时读有效

遇到的问题:

  • 错误示例:

    {sv} 复制代码
        forever begin
            @(posedge clk)
            if(read_en != 'h7) begin
                @(posegde clk)
                get_data();
            end
        end
  • 错误分析:

    • 在第一个read_en生效后,即read_en为0时,需要等待一个周期去拿去数据A,但这时候拿数的逻辑超过了1个周期,导致下次read_en没有被采样到,会跳过B直接去拿C
  • 正确的做法:

    {sv} 复制代码
        event start_read;
        fork
            forever begin
                @(posedge clk)
                if(read_en != 'h7)
                    -> stat_read
            end
            forever begin
                @(start_read);
                @(posedge clk)
                    get_data();
            end
        join
    • 分析:
      • 将数据采样和采样的条件放在两个线程里,互不影响
相关推荐
unicrom_深圳市由你创科技6 小时前
项目分析和FPGA器件选型外包服务包括哪些内容?别让选错芯片毁了整个项目
fpga开发
Aaron15886 小时前
27DR/47DR/67DR技术对比及应用分析
人工智能·算法·fpga开发·硬件架构·硬件工程·信息与通信·基带工程
my_daling8 小时前
DSMC通信协议理解,以及如何在FPGA上实现DSMC从设备(2)
学习·fpga开发
珞光电子USRP SDR软件无线电平台1 天前
打破通用瓶颈:珞光电子发布 Luowave Driver V2 定制化驱动方案
fpga开发
9527华安1 天前
FPGA实现PCIe数据通信培训课程,提供工程源码+视频教程+FPGA开发板
fpga开发·pcie·视频教程·培训
my_daling1 天前
FPGA实现IIC主机读写,以及部分IIC传感器控制流程
fpga开发
乌恩大侠1 天前
【AI-RAN】在空ubuntu服务器安装环境和生成TV,高达430G文件
服务器·人工智能·ubuntu·fpga开发·o-ru
qq_150841991 天前
高云FPGA固件下载速成
fpga开发
一个平凡而乐于分享的小比特1 天前
一文读懂MCU与FPGA:核心区别、协同之道与双修秘籍
单片机·fpga开发·职场发展·mcu开发