一种FPGA系统的触发器及其运行方法与流程
未命名
09-21
阅读:56
评论:0

技术领域:
:1.本发明涉及芯片验证领域,尤其涉及一种fpga系统的触发器及其运行方法。
背景技术:
::2.触发器(trigger)作为debug调试手段可以应用于使用fpga作为用户设计载体的验证平台,包括emulator(仿真加速器),原型验证平台。通过预先设置期望的信号值和相关逻辑表达式,来让dut(deviceundertest,被测设备)运行至信号触发点时可以及时地做出触发动作。使用这种工具可以对特定信号组合进行准确定位,方便用户对于问题发送区域进行准确定位。而为了实现这个功能,现有技术中存在不同的触发器解决方案。3.在一种技术方案中,将用户的rtl代码进行修改,将触发器和用户dut一起进行编译。这样的触发器牺牲了一定的灵活性,用来换取更快的响应速度。在另一种技术方案中,选择额外定制一块芯片专门实现触发器的功能,虽然限制了触发器输入的信号总量,但是通过重编译的方式可以灵活配置触发逻辑表达式。现有技术的触发器普遍存在无法兼顾响应速度和配置灵活性的缺点。技术实现要素:4.本发明的目的提供一种响应速度快且配置灵活的fpga系统的触发器及其运行方法。5.本发明实施例中,提供了一种fpga系统的触发器,其包括采样模块、多个单项式运算模块、多项式运算模块及状态机控制模块,6.所述采样模块,用于对不同参考时钟下的信号进行采样,得到多个采样信号;7.所述多个单项式运算模块,分别用于对所述采样信号进行筛选,并将筛选后的信号进行单项式逻辑运算;8.所述多项式运算模块,用于对所述多个单项式运算模块的运算结果进行多项式逻辑运算;9.所述状态机控制模块,用于根据所述多项式模块的逻辑运算结果和预设的状态机触发条件输出相应的指令。10.本发明实施例中,所述单项式运算模块采用将采样信号与对应的掩码进行逻辑与运算的方式来对所述采样信号进行筛选。11.本发明实施例中,所述单项式运算模块被分割为多个标准位宽运算模块,通过组合的方式来处理不同位宽的采样信号。12.本发明实施例中,所述单项式运算模块中预先设置了多个状态机的判断条件,并将不同的状态机作为地址指针来指向相应的判断条件。13.本发明实施例中,所述采样模块配置的寄存器中预先多种不同的采样时钟配置,并将不同的状态机作为地址指针来指向相应的采样时钟配置。14.本发明实施例中,所述单项式逻辑运算为判断等于、不等于、检测上升沿、下降沿中的一种。15.本发明实施例中,所述多项式逻辑运算包括逻辑与、逻辑或及其组合。16.本发明实施例中,所述多项式运算模块采用逻辑查找表来实现所述多项式逻辑运算,即将所述多个单项式逻辑运算结果作为地址,将在相应的地址中查询到的存储值作为所述多项式逻辑运算的结果。17.本发明实施例中,还提供了一种fpga系统的触发器的运行方法,包括:18.对不同参考时钟下的信号进行采样;19.分别对多个采样信号进行筛选,并分别对筛选后的各个信号进行单项式逻辑运算;20.对所述多个单项式逻辑运算的结果进行多项式逻辑运算;21.根据所述多项式逻辑运算结果和预设的状态机触发条件输出相应的指令。22.本发明实施例中,所述单项式逻辑运算为判断等于、不等于、检测上升沿、下降沿中的一种,所述多项式逻辑运算包括逻辑与、逻辑或及其组合。23.与现有技术相比较,本发明的fpga系统的触发器中,采用采用多个单项式运算模块,分别用于对所述采样信号进行筛选,并将筛选后的信号进行单项式逻辑运算,可以根据所有的采样信号和参考时钟灵活配置触发条件;所述单项式运算模块采用将采样信号与对应的掩码进行逻辑与运算的方式来对采样信号进行筛选,从而可以尽可能少的消耗资源,提升了可参与触发的信号位宽规模;所述多项式运算模块对所述多个单项式运算模块的运算结果采用逻辑查找表的方式进行多项式逻辑运算,提升了响应速度,可在单周期内实现触发;另外,还可以实现ip和用户设计共用fpga,减少了采样传输延迟。附图说明24.图1是本发明实施例提供的fpga系统的触发器的示意图。25.图2是本发明实施例中不同的状态机指向的不同配置的示意图。26.图3是本发明实施例的单项式运算模块对采样信号进行筛选的示意图。27.图4是本发明实施例的对单项式运算模块进行状态切换的示意图。28.图5是本发明实施例的多项式运算模块的运算逻辑示意图。29.图6是本发明实施例的状态机控制模块的运算逻辑示意图。30.图7是本发明实施例提供的触发器运行方法的流程图。具体实施方式31.为了使本发明的目的、技术方案及优像素点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。32.如图1所示,本发明实施例中,提供了一种fpga系统的触发器,其包括采样模块1、多个单项式运算模块2、多项式运算模块3及状态机控制模块4。下面分别进行说明。33.所述采样模块1,用于对不同参考时钟下的信号进行采样,得到多个采样信号。34.需要说明的是,对于触发器来说,是根据输入的信号的进行触发,当输入的信号满足设定的状态逻辑时,触发相应的指令。因此,首先需要通过所述采样模块1对输入的信号进行采样。由于不同的输入信号可能采用不同的参考时钟,所述采样模块1的工作原理是使用高频时钟对用户参考时钟进行采样,然后针对配置的时钟沿输出采样有效信号标志脉冲。35.如图2所示,所述采样模块1配置的寄存器中预先多种不同的采样时钟配置(clktable),并将不同的状态机state(0、1、2、3…)作为地址指针来指向相应的采样时钟配置,从而可以根据不同的状态机来选择对应的参考时钟(referenceclk)。36.所述多个单项式运算模块1,分别用于对所述采样信号进行筛选,并将筛选后的信号进行单项式逻辑运算。37.由于对触发器的输入信号进行基础的逻辑判断通常是判断其是否是某个值后者是否是某个信号的动态变化过程,因此,其判断动作也就是等于,不等于判断以及下边沿、下边沿检测。因此,本发明中,将单项式逻辑运算定义为等于,不等于判断以及下边沿、下边沿检测中的一个。38.需要说明的是,采样的信号为二进制组成,不同的信号具有不同的位宽,从而表达出信号的值。因此,对信号进行采样后,需要筛选出指定的几位bit参与后续的逻辑运算。如果使用选择器来进行筛选,当信号位宽上升时消耗的资源也将以指数级上升。在本发明实施例中,所述单项式运算模块采用将采样信号与对应的掩码(mask1、mask2…)进行逻辑与运算的方式来对采样信号进行筛选,利用了基础的与门功能,从而可以尽可能少的消耗资源,提升了可参与触发的信号位宽规模。如图3所示,假设采样信号总位宽16bit,分为信号a[7:0]和信号b[15:8],假设当前采样周期是bus=0x4589,如果要筛选出信号b,则将bus信号和对应的掩码0xff00进行与,得到筛选后的值0x4500,然后就可以进行是否等于某个值的判断了。[0039]对于边沿检测的运算来说,首先也是采样掩码的方式将信号进行筛选,然后在判断两次采样后筛选出的信号是否满足边沿跳变的条件。例如,当前采样值为0x0010,将要对bit2进行上升沿判断,此时bit2值为0。将采样值和掩码0x0020进行与运算,得到0x0000。此时满足上升沿的先决条件,即所有值为0。将置起一个标志位,然后等待下一次采样时值变为0x0020则满足上升沿的条件。[0040]进一步地,为了丰富条件的多样性,本发明实施里中,还可以对单项式运算模块2的判断条件进行设置,如图2所示,通过预先在所述单项式运算模块2中设置多个状态机的判断条件(value1、value2、…),并将不同的状态机state(0、1、2、3…)作为地址指针来指向相应的判断条件。从而使得所述单项式运算模块可2以在不同的状态机中读取不同相应的判断条件。具体地如图4所示,在状态机1中,两个单项式运算模块的判断条件分别为a==0x56和b==0x47,在状态机2中,两个单项式运算模块的判断条件分别为c==0x88和d==0x33。[0041]进一步地,所述单项式运算模块2的内存中还可以预先多种不同的采样时钟配置,并将不同的状态机作为地址指针来指向相应的采样时钟配置,可选的参考时钟数量由状态机数量决定。[0042]本发明实施例中,所述单项式运算模块2还可以被分割为多个标准位宽运算模块,从而可以通过组合的方式来处理不同位宽的采样信号。例如,通过将所述多个单项式运算模块设置成若干个小的标准位宽模块(例如64bit),从而可以灵活应对所需处理的信号总位宽(例如2048bit,即32个小模块)。[0043]所述多项式运算模块3,用于对所述多个单项式运算模块2的运算结果进行多项式逻辑运算。本发明中,所述多项式逻辑运算被定义为逻辑与、逻辑或及逻辑与和逻辑或的组合。[0044]本发明实施例中,所述多项式运算模块3采用逻辑查找表来实现所述多项式逻辑运算,即将所述多个单项式逻辑运算结果作为地址,将在相应的地址中查询到的存储值作为所述多项式逻辑运算的结果。如图5所示,假设多项式逻辑运算为a&&b,两个单项式运算结果为2’b11(二进制11)时输出为真,则地址0x3这个位置存储的值为1,提前在地址0x3的位置存储1,其他地址位存储0,条件满足时就会输出1。[0045]所述状态机控制模块4,用于根据所述多项式模块的逻辑运算结果和预设的状态机触发条件触发相应的指令。[0046]所述状态机控制模块4触发的指令用于切换不同的状态机、触发计数器和存储器,这些指令包括:触发、计数器增加、计数器清零、标志位置位、标志位复位、状态机跳转。所述状态机控制模块4通过解析用户编写的表达式生成指令,当条件满足时执行各个分支。标准的一个状态机表达式包含3个分支,即if,elseif,else。前两路输入可以来自前级的多项式逻辑模块,也可以来自计数器,标志位,else用前两者都不满足时的条件执行,指令解析如图6所示。[0047]进一步地,如图7所示,所述fpga系统的触发器的运行过程如下:[0048]步骤s1:对不同参考时钟下的信号进行采样;[0049]步骤s2:分别对多个采样信号进行筛选,并分别对筛选后的各个信号进行单项式逻辑运算;[0050]步骤s3:对所述多个单项式逻辑运算的结果进行多项式逻辑运算;[0051]步骤s4:根据所述多项式逻辑运算结果和预设的状态机触发条件输出相应的指令。[0052]综上所述,本发明的fpga系统的触发器中,采用采用多个单项式运算模块,分别用于对所述采样信号进行筛选,并将筛选后的信号进行单项式逻辑运算,可以根据所有的采样信号和参考时钟灵活配置触发条件;所述单项式运算模块采用将采样信号与对应的掩码进行逻辑与运算的方式来对采样信号进行筛选,从而可以尽可能少的消耗资源,提升了可参与触发的信号位宽规模;所述多项式运算模块对所述多个单项式运算模块的运算结果采用逻辑查找表的方式进行多项式逻辑运算,提升了响应速度,可在单周期内实现触发;另外,还可以实现ip和用户设计共用fpga,减少了采样传输延迟。[0053]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
技术特征:
1.一种fpga系统的触发器,其特征在于,包括采样模块、多个单项式运算模块、多项式运算模块及状态机控制模块,所述采样模块,用于对不同参考时钟下的信号进行采样,得到多个采样信号;所述多个单项式运算模块,分别用于对所述采样信号进行筛选,并将筛选后的信号进行单项式逻辑运算;所述多项式运算模块,用于对所述多个单项式运算模块的运算结果进行多项式逻辑运算;所述状态机控制模块,用于根据所述多项式模块的逻辑运算结果和预设的状态机触发条件输出相应的指令。2.如权利要求1所述的fpga系统的触发器,其特征在于,所述单项式运算模块采用将采样信号与对应的掩码进行逻辑与运算的方式来对所述采样信号进行筛选。3.如权利要求1所述的fpga系统的触发器,其特征在于,所述单项式运算模块被分割为多个标准位宽运算模块,通过组合的方式来处理不同位宽的采样信号。4.如权利要求1所述的fpga系统的触发器,其特征在于,所述单项式运算模块中预先设置了多个状态机的判断条件,并将不同的状态机作为地址指针来指向相应的判断条件。5.如权利要求1所述的fpga系统的触发器,其特征在于,所述采样模块配置的寄存器中预先多种不同的采样时钟配置,并将不同的状态机作为地址指针来指向相应的采样时钟配置。6.如权利要求1所述的fpga系统的触发器,其特征在于,所述单项式逻辑运算为判断等于、不等于、检测上升沿、下降沿中的一种。7.如权利要求1所述的fpga系统的触发器,其特征在于,所述多项式逻辑运算包括逻辑与、逻辑或及两者的组合。8.如权利要求1所述的fpga系统的触发器,其特征在于,所述多项式运算模块采用逻辑查找表来实现所述多项式逻辑运算,即将所述多个单项式逻辑运算结果作为地址,将在相应的地址中查询到的存储值作为所述多项式逻辑运算的结果。9.一种fpga系统的触发器的运行方法,其特征在于,包括:对不同参考时钟下的信号进行采样;分别对多个采样信号进行筛选,并分别对筛选后的各个信号进行单项式逻辑运算;对所述多个单项式逻辑运算的结果进行多项式逻辑运算;根据所述多项式逻辑运算结果和预设的状态机触发条件输出相应的指令。10.如权利要求9所述的fpga系统的触发器的运行方法,其特征在于,所述单项式逻辑运算为判断等于、不等于、检测上升沿、下降沿中的一种,所述多项式逻辑运算包括逻辑与、逻辑或及其组合。
技术总结
本发明公开了一种FPGA系统的触发器及其运行方法,所述触发器包括采样模块、多个单项式运算模块、多项式运算模块及状态机控制模块,所述采样模块,用于对不同参考时钟下的信号进行采样,得到多个采样信号;所述多个单项式运算模块,分别用于对所述采样信号进行筛选,并将筛选后的信号进行单项式逻辑运算;所述多项式运算模块,用于对所述多个单项式运算模块的运算结果进行多项式逻辑运算;所述状态机控制模块,用于根据所述多项式模块的逻辑运算结果和预设的状态机触发条件输出相应的指令。本发明的触发器具有响应速度快且配置灵活的优点。的优点。的优点。
技术研发人员:高山枫 凌长师 李艳荣
受保护的技术使用者:深圳国微晶锐技术有限公司
技术研发日:2023.06.06
技术公布日:2023/9/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:传输送料装置的制作方法 下一篇:一种便携式小型气模风机的制作方法