一种多时钟域快速切换的系统和方法
文献发布时间:2023-06-19 19:07:35
技术领域
本申请涉及芯片设计领域,特别是涉及一种多时钟域快速切换的系统和方法。
背景技术
数模交互模块中,需要对模拟信号的采集时钟频繁切换,如图1所示,目前现有的方案,由触发生成模块对模拟模块进行不同的配置并触发模拟模块工作,模拟模块被触发后会返回相应的结果,对该结果做同步处理同步至控制器的时钟域,在控制器的时钟域下对采样的结果进行处理,最后将处理的结果同步至不同的触发时钟域下并返回。在数模交互的模块中对模拟信号进行采样和处理,需要频繁做时钟域的同步处理。这样在触发频繁切换的情况下,延时会很大,这会导致触发已经切换,但最终得到的信号还是前一个触发的残留结果。
发明内容
为了解决现有技术中存在的至少一个问题,本申请的目的在于提供一种多时钟域快速切换的系统和方法,能够实现对属于不同时钟域的触发能快速地快速切换并传输,不会留下上一次触发的残留结果,并且减少了同步器的使用数量,延时低。
为实现上述目的,本申请提供的多时钟域快速切换的系统,包括:
触发生成模块,被配置为基于外部触发请求和内部定时触发请求生成不同配置的触发信号和触发指示信号并输出,所述触发指示信号用于控制多个所述时钟域之间的切换;
掩码模块,被配置为基于所述触发指示信号和配置参数生成时钟域选择信号和掩码信号并输出;
模拟模块,被配置为基于多个电平信号和所述触发信号生成模拟结果并输出;
预处理模块,被配置为基于所述模拟结果生成预处理结果并输出;
滤波模块,包括位于不同时钟域的多个滤波器,被配置为基于时钟域信号、所述时钟域选择信号和所述掩码信号生成滤波器复位信号,控制所述滤波器对所述预处理结果进行采样和滤波,位于被触发的所述时钟域信号的滤波器输出有效结果,位于未被触发的所述时钟域信号的滤波器不能输出有效结果。
进一步地,所述触发生成模块的输出端与所述模拟模块的输入端连接,所述模拟模块的输出端与所述预处理模块的输入端连接,所述预处理模块的输出端与所述滤波模块的第一输入端连接,所述掩码模块的输入端与所述触发生成模块的输出端连接,所述掩码模块的输出端与所述滤波模块的第二输入端连接。
进一步地,所述触发生成模块包括:第一选择器和第一计数器;所述第一选择器的第一输入端输入所述外部触发请求,所述第一选择器的第二输入端与所述第一计数器的输出端连接,所述第一计数器的输出端输出所述内部定时触发请求,所述第一选择器的输出端输出所述触发信号和所述触发指示信号;
所述第一计数器,用于生成内部定时触发请求。
进一步地,所述掩码模块,包括第二计数器,所述第二计数器的输入端输入所述触发指示信号,所述第二计数器的清零端输入配置参数,所述第二计数器的输出端输出所述掩码信号和所述时钟域选择信号。
进一步地,所述触发信号,包括:通道选择信号和采样时间;
所述模拟模块,包括模拟电压比较器和模数转换器中的一种;
所述模拟电压比较器,用于基于多个电平信号和通道选择信号进行电压比较得到电压的比较结果作为所述模拟结果输出;
模数转换器,用于基于多个电平信号、通道选择信号和采样时间进行模数转换得到输出电压的模数转换结果作为所述模拟结果输出。
进一步地,所述预处理模块,包括:极性取反模块、第二选择器、直流偏置补偿模块和第三选择器;所述第二选择器的第一输入端输入所述模拟结果,所述极性取反模块的一端输入所述模拟结果,另一端与所述第二选择器的第二输入端连接,所述第二选择器的输出端与第三选择器的第一输入端相连,所述直流偏置补偿模块的一端与所述第二选择器的输出端相连,另一端与所述第三选择器的第二输入端连接,所述第三选择器的输出端输出所述预处理结果。
进一步地,所述系统还包括:所述滤波模块,还包括多组两个级联的寄存器和一个多输入或门,两个级联的寄存器为异步复位同步释放;
在每组中,所述两个级联的寄存器的时钟端分别输入所述时钟域信号,将所述时钟域选择信号与取反后的所述掩码信号进行逻辑与操作后得到的第一复位信号,分别作为两个级联的寄存器的异步复位信号输入所述两个级联的寄存器的复位端,所述两个级联的寄存器的第二个寄存器输出的滤波器复位信号作为所述滤波器的复位信号输入所述滤波器的复位端,所述滤波器的时钟端输入所述时钟域信号,所述滤波器的输入端输入所述预处理结果,所述滤波器的输出端连接到所述多输入或门的输入端;
所述多输入或门的多个输入端连接每组中滤波器的输出端,位于被触发的所述时钟域信号的滤波器输出有效结果,位于未被触发的所述时钟域信号的滤波器不能输出有效结果。
更进一步地,将生成触发指示信号的时刻作为第一时刻,
第一时刻,被触发的所述时钟域发送所述触发指示信号,位于未被触发的所述时钟域信号的滤波器的复位置起;
第二时刻,被触发的所述时钟域采样到所述预处理结果并滤波,位于被触发的所述时钟域信号的滤波器输出有效结果。
为实现上述目的,本申请还提供的多时钟域快速切换的方法,包括:
基于外部触发请求和内部定时触发请求生成不同配置的触发信号和触发指示信号并输出,所述触发指示信号用于控制多个所述时钟域之间的切换;
基于所述触发指示信号和配置参数生成时钟域选择信号和掩码信号并输出;
基于多个电平信号和所述触发信号生成模拟结果并输出;
基于所述模拟结果生成预处理结果并输出;
基于所述时钟域信号、所述时钟域选择信号和所述掩码信号生成滤波器复位信号,控制所述滤波器对所述预处理结果进行采样和滤波,位于被触发的所述时钟域信号的滤波器输出有效结果,位于未被触发的所述时钟域信号的滤波器不能输出有效结果。
为实现上述目的,本申请还提供的芯片,其上集成有如上所述的多时钟域快速切换的系统。
为实现上述目的,本申请还提供的电路板,包括如上所述的芯片。
为实现上述目的,本申请还提供的车机,包括如上所述的芯片。
为实现上述目的,本申请还提供的电子设备,包括,存储器和处理器,其特征在于,所述存储器中存储有计算机指令,所述处理器被设置为运行所述指令以执行如上所述的多时钟域快速切换的方法的步骤。
为实现上述目的,本申请还提供的计算机可读存储介质,其上存储有计算机指令,当计算机指令运行时执行如上所述的多时钟域快速切换的方法的步骤。
本申请的一种多时钟域快速切换的系统和方法,通过增加滤波模块和掩码模块,能够实现对属于不同时钟域的触发能快速切换并传输,不会留下上一次触发的残留结果,并且减少了同步器的使用数量,响应快,延时低。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,并与本申请的实施例一起,用于解释本申请,并不构成对本申请的限制。在附图中:
图1为现有技术中时钟域切换的系统结构框图;
图2为根据本申请一个实施例的多时钟域快速切换的系统结构框图;
图3为根据本申请一个实施例的触发生成模块的结构框图;
图4为根据本申请一个实施例的掩码模块的结构框图;
图5为根据本申请一个实施例的预处理模块的结构框图;
图6为根据本申请一个实施例的滤波模块的结构框图;
图7为根据本申请另一个实施例的滤波模块的结构框图;
图8为根据本申请图7的实施例的时序示意图;
图9为根据本申请另一个实施例的滤波模块的结构框图;
图10为根据本申请图9的实施例的时序示意图;
图11为根据本申请一个实施例的多时钟域快速切换的方法流程图;
图12为根据本申请实施例的芯片结构示意图;
图13为根据本申请实施例的电路板结构示意图;
图14为根据本申请实施例的车机结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本申请中提及的“第一”、“第二”等仅用于对不同的装置、模块、单元或数据进行区分,并非用于限定这些装置、模块、单元或数据所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
ACMP:Analogcomparator模拟比较器。
ADC:Analog-to-digital converter,模拟数字转换器。
DC offset:Direct Current offset,直流偏置电压。
下面,将参考附图详细地说明本申请的实施例。
实施例1
图2为根据本申请一个实施例的多时钟域快速切换的系统结构框图,如图2所示,本实施例的多时钟域快速切换的系统,包括:触发生成模块11、掩码模块12、模拟模块13、预处理模块14,以及滤波模块15。所述时钟域与时钟信号关联。其中,
触发生成模块11,被配置为基于外部触发请求和内部定时触发请求生成不同配置的触发信号和触发指示信号和时钟域选择信号并将所述触发信号发送给模拟模块13,将所述触发指示信号发送给掩码模块12,所述触发指示信号用于控制多个所述时钟域之间的切换;
掩码模块12,被配置为基于所述触发指示信号和配置参数生成时钟域选择信号和掩码信号并将所述时钟域选择信号和掩码信号发送给所述滤波模块;
模拟模块13,被配置为基于多个电平信号和所述触发信号生成模拟结果并发送给预处理模块14;
预处理模块14,被配置为基于所述模拟结果生成预处理结果并输出;
滤波模块15,包括位于不同时钟域的多个滤波器,被配置为基于所述时钟域信号、所述时钟域选择信号和所述掩码信号生成滤波器复位信号,所述滤波复位信号控制所述滤波器对所述预处理结果进行采样和滤波,位于被触发的所述时钟域信号的滤波器输出有效结果,位于未被触发的所述时钟域信号的滤波器不能输出有效结果,结果被屏蔽。
具体地,所述触发生成模块11的输出端与所述模拟模块13的输入端连接,所述模拟模块13的输出端与所述预处理模块14的第一输入端连接,所述预处理模块14的输出端与所述滤波模块15的第一输入端连接,所述掩码模块12的输入端与所述触发生成模块11的输出端连接,所述掩码模块12的输出端与所述滤波模块15的第二输入端连接。
进一步地,如图3所示,本申请的实施例中,所述触发生成模块11包括:第一选择器和第一计数器;所述第一选择器的第一输入端输入外部触发请求,所述第一选择器的第二输入端与所述第一计数器的输出端连接,所述第一计数器的输出端输出所述内部定时触发请求,所述第一选择器的输出端输出所述触发信号和所述触发指示信号;
所述第一计数器,用于生成内部定时触发请求,例如可以设置内部定时器,定时生成触发指示信号;或者预先设置好触发条件以及触发的配置,计数器到了时间了就定时循环。
本申请实施例中,可以选择外部触发请求或内部触发请求。
具体的,所述触发信号,包括:通道选择信号和采样时间;
进一步地,如图4所示,本申请的实施例中,所述掩码模块12,包括第二计数器,所述第二计数器的输入端输入所述触发指示信号,所述第二计数器的清零端输入配置参数,所述第二计数器的输出端输出和所述时钟域选择信号和所述掩码信号。
所述掩码信号,用于屏蔽掉无效的模拟结果,提取出想要时间段的模拟结果。
具体地,所述触发指示信号控制所述时钟域选择信号的,例如产生一个触发指示信号的同时,时钟域选择信号从低电平反转为高电平,再产生下一个触发指示信号的同时,时钟域选择信号从高电平反转为低电平,又或者例如产生第一个触发指示信号的同时,时钟域选择信号从00变为01,再产生第二个触发指示信号的同时,时钟域选择信号从01变为11,再产生第三个触发指示信号的同时,时钟域选择信号从11变为10。
进一步地,本申请的实施例中,所述模拟模块13有多种实现方式,例如可以采用模拟电压比较器或模数转换器均可以实现;
如果采用所述模拟电压比较器ACMP,具体是基于多个电平信号和通道选择信号进行电压比较得到电压的比较结果作为所述模拟结果输出;例如:模拟端输入16个电平,数字端输入通道选择信号,从16路中选2路,最终输出电压的比较结果,若第1路比第2路的电压大,则输出高电平作为模拟结果输出,若第2路比第1路的电压大,则输出低电平作为模拟结果输出。
如果采用模数转换器ADC,具体是基于多个电平信号、通道选择信号和采样时间进行模数转换得到输出电压的模数转换结果作为所述模拟结果输出,例如模拟端输入16个电平,数字端输入通道选择信号,从16路中选1路,最终输出电压的模数转换结果。
本申请实施例中,外部触发请求和内部定时触发请求可以预先进行配置,例如:模拟电压比较器一共有16路,分为3个外部触发和1个内部触发,其中,第一个外部触发选择通路5~8,第二个外部触发选择通路9~12,第三个外部触发选择通路13~16,内部触发选择通路1~4。
进一步地,如图5所示,本申请的实施例中,所述预处理模块14,包括:极性取反模块、第二选择器、直流偏置补偿模块和第三选择器;所述第二选择器的第一输入端输入所述模拟结果,所述极性取反模块的一端输入所述模拟结果,另一端与所述第二选择器的第二输入端连接,所述第二选择器的输出端与第三选择器的第一输入端相连,所述直流偏置补偿模块的一端与所述第二选择器的输出端相连,另一端与所述第三选择器的第二输入端连接,所述第三选择器的输出端输出所述预处理结果。
极性取反模块,用于将得到的模拟结果全部取反。
直流偏置补偿模块,用于DC offset的补偿,将得到的模拟结果加上或减去补偿值。
所述预处理模块14极性取反模块是针对ACMP的, 直流偏置补偿模块是针对ADC的,相当于用同一个电路适配多种模拟器件,所述预处理模块14根据模拟模块13选择其中一个子模块,具体为:当模拟模块13采用ACMP时,所述预处理模块14的第二选择器选择极性取反模块将所述模拟结果全部取反得到预处理结果,当模拟模块13采用ADC时,所述预处理模块14的第三选择器选择直流偏置补偿模块对模拟结果加上或减去补偿值得到预处理结果。
进一步地,如图6所示,本申请实施例中,所述滤波模块15,不仅包括多个滤波器151(N个滤波器:filter0、filter1......filterN),还包括多组两个级联的寄存器152(N组)和一个多输入或门153,两个级联的寄存器为异步复位同步释放。
在每组中,所述两个级联的寄存器152的时钟端分别输入所述时钟域信号(clk0、clk1......clkN),将所述时钟域选择信号(clk_domain_switch0、clk_domain_switch1......clk_domain_switchN)和取反后的所述掩码信号进行逻辑“与”操作后得到的第一复位信号,分别作为两个级联的寄存器152的异步复位信号输入所述两个级联的寄存器152的复位端,所述两个级联的寄存器152其中的第二个寄存器输出的滤波器复位信号(filter0_rst_b、filter1_rst_b......filterN_rst_b)作为所述滤波器151的复位信号输入所述滤波器151的复位端,多个滤波器151的每一个,时钟端输入所述时钟域信号(clk0、clk1......clkN)、输入端输入所述预处理结果(ana_sig),以及输出端连接到所述多输入或门153的输入端;
所述多输入或门153的多个输入端连接多个滤波器151每一个的输出端,所述多输入或门153的输出端输出有效结果:位于被触发的所述时钟域信号的滤波器输出有效结果(O_fnl_result),位于未被触发的所述时钟域信号的滤波器不能输出有效结果。
同一时刻,只有一个滤波器处于 “非复位状态”,输出该滤波器的有效结果; 除了该工作的滤波器, 其余滤波器都处在复位状态,被屏蔽,输出“0”。
本申请实施例中,将生成触发指示信号的时刻作为第一时刻,
第一时刻,被触发的所述时钟域发送所述触发指示信号,位于未被触发的所述时钟域信号的滤波器的复位置起;
第二时刻,被触发的所述时钟域采样到所述预处理结果并滤波,位于被触发的所述时钟域信号的滤波器输出有效结果。
下面以一个两个时钟域切换的具体实施例进行举例说明。
图7为根据本申请另一个实施例的预处理模块的结构框图。如图7所示,所述滤波模块包括多输入或门、第一组两个级联的寄存器、第二组两个级联的寄存器、第一滤波器和第二滤波器,所述第一滤波模块的时钟端输入第一时钟域信号,所述第二滤波模块的时钟端输入第二时钟域信号;
第一组的所述两个级联的寄存器的时钟端分别输入所述第一时钟域信号,第一时钟域选择信号和取反后的所述掩码信号进行逻辑“与”之后得到的第一复位信号,分别从所述两个级联的寄存器的异步复位端输入,所述两个级联的寄存器中的第二个寄存器的输出端与所述第一滤波器的第一输入端连接,所述第一滤波器的第二输入端输入所述预处理结果,所述第一滤波器的输出端连接到所述多输入或门的第一输入端;
第二组的所述两个级联的寄存器的时钟端分别输入所述第二时钟域信号,第二时钟域选择信号和取反后的所述掩码信号进行逻辑“与”之后得到的第二复位信号,分别从所述两个级联的寄存器的异步复位端输入,所述两个级联的寄存器的输出端与所述第二滤波器的第一输入端连接,所述第二滤波器的第二输入端输入所述预处理结果,所述第二滤波器的输出端连接到所述多输入或门的第二输入端;
位于被触发的所述时钟域信号的滤波器输出有效结果,位于未被触发的所述时钟域信号的滤波器不能输出有效结果。
具体地,由触发生成模块在收到触发请求时,生成触发信号发送至模拟模块,同时将触发指示信号(trigger)发送至掩码模块,掩码模块会根据触发指示信号(trigger)产生掩码信号(ana_data_vld)和时钟域选择信号(clk_domain_switch)并发送至滤波模块,触发指示信号(trigger)可以控制时钟域选择信号(clk_domain_switch)的转换,时钟域选择信号(clk_domain_switch)和取反后的掩码信号(ana_data_vld)进行逻辑“与”之后的信号作为两个级联寄存器的复位信号,两组的两个寄存器的输出端输出的滤波器复位信号(fliter1_rst_b)和(fliter2_rst_b)作为滤波器中寄存器的复位端输入;模拟模块收到触发信号后,会返回模拟结果发送到预处理模块,在预处理模块中通过组合逻辑处理后得到预处理结果(ana_sig),发送到滤波模块,滤波模块会对预处理结果做采样和滤波处理,并最终输出有效结果O_fnl_result。
如图7所示,每组的两个寄存器为异步复位同步释放,时钟域选择信号clk_domain_switch与取反后的ana_data_vld进行逻辑“与”之后生成的复位信号作为两个级联寄存器的异步复位端输入,两组的两个级联寄存器分别生成的滤波器复位信号filter0_rst_b与filter1_rst_b分别送往滤波器filter0与filter1。这样属于clk0时钟域的结果,filter1则会处于复位状态,仅filter0会处于工作状态;同理,属于clk1时钟域的结果,filter0则会处于复位状态,仅filter1会处于工作状态;最终将两个滤波器的结果通过多输入或门做逻辑“或”处理,输出最终的有效结果O_fnl_result。使用该结构,O_fnl_result仅有位于被触发的时钟域的滤波器能输出,位于未被触发的时钟域的滤波器不能输出结果,结果被屏蔽。
图8为两时钟域切换的波形示意图。如图8所示,T1时刻,收到触发请求,由clk0时钟域发送一个trigger1,clk_domain_switch0变为低电平,此时filter1的复位立即置起,也就是filter1_rst_b变为低电平,将filter1的输出结果截停;T2时刻,clk0时钟域可以采样到模拟模块输出的模拟结果,并稳定的作为clk0时钟域的有效结果输出;T3时刻,收到触发请求,由clk1时钟域发送了一个新的trigger2,clk_domain_switch1变为高电平,此时filter0的复位立即置起,也就是filter0_rst_b变为低电平,将filter0的输出结果截停;T4时刻,clk1时钟域可以采样到模拟模块输出的模拟结果,并稳定的作为clk1时钟域的有效结果输出;T5时刻,由clk0时钟域发送了一个新的触发trigger3,clk_domain_switch0变为低电平,此时,filter1的复位立即置起,也就是filter1_rst_b变为低电平,将filter1的输出结果截停;T6时刻,时钟clk0可以采样到预处理结果,并稳定的作为clk0时钟域的有效结果O_fnl_result输出。
下面以一个三个时钟域切换的具体实施例进行举例说明。
图9为根据本申请另一个实施例的预处理模块的结构框图。如图9所示,所述滤波模块包括多输入或门、第一组两个级联的寄存器、第二组两个级联的寄存器、第三组两个级联的寄存器、第一滤波器、第二滤波器和第二滤波器,所述第一滤波模块的时钟端输入第一时钟域信号,所述第二滤波模块的时钟端输入第二时钟域信号,所述第三滤波模块的时钟端输入第三时钟域信号;
第一组的所述两个级联的寄存器的时钟端分别输入所述第一时钟域信号,第一时钟域选择信号和取反后的所述掩码信号进行“逻辑与”之后得到的第一复位信号,分别从所述两个级联的寄存器的异步复位端输入,所述两个级联的寄存器的输出端与所述第一滤波器的第一输入端连接,所述第一滤波器的第二输入端输入所述预处理结果,所述第一滤波器的输出端连接到所述多输入或门的第一输入端;
第二组的所述两个级联的寄存器的时钟端分别输入所述第二时钟域信号,第二时钟域选择信号和取反后的所述掩码信号进行“逻辑与”之后得到的第二复位信号,分别从所述两个级联的寄存器的异步复位端输入,所述两个级联的寄存器的输出端与所述第二滤波器的第一输入端连接,所述第二滤波器的第二输入端输入所述预处理结果,所述第二滤波器的输出端连接到所述多输入或门的第二输入端;
第三组的所述两个级联的寄存器的时钟端分别输入所述第三时钟域信号,第三时钟域选择信号和取反后的所述掩码信号进行“逻辑与”之后得到的第三复位信号,分别从所述两个级联的寄存器的异步复位端输入,所述两个级联的寄存器中的第二个寄存器的输出端与所述第三滤波器的第一输入端连接,所述第三滤波器的第二输入端输入所述预处理结果,所述第三滤波器的输出端连接到所述多输入或门的第三输入端;
位于被触发的所述时钟域信号的滤波器输出有效结果,位于未被触发的所述时钟域信号的滤波器不能输出有效结果。
具体地,由触发生成模块在收到触发请求时,生成触发信号发送至模拟模块,同时将触发指示信号(trigger)发送至掩码模块,掩码模块会根据触发指示信号(trigger)产生掩码信号(ana_data_vld)和时钟域选择信号(clk_domain_switch)并发送至滤波模块,触发指示信号(trigger)可以控制时钟域选择信号(clk_domain_switch)的转换,时钟域选择信号(clk_domain_switch)和取反后的掩码信号(ana_data_vld)进行逻辑“与”之后的信号作为两个级联寄存器的复位信号,三组的两个级联寄存器的输出端输出的滤波信号(fliter0_rst_b)、(fliter1_rst_b)和(fliter2_rst_b)作为滤波器中寄存器的复位端输入;模拟模块收到触发信号后,会返回模拟结果发送到预处理模块,在预处理模块中通过组合逻辑处理后得到预处理结果(ana_sig),发送到滤波模块,滤波模块会对预处理结果做采样和滤波处理,并最终输出有效结果O_fnl_result。
如图9所示,每组的两个寄存器为异步复位同步释放,时钟域选择信号clk_domain_switch与取反后的掩码信号ana_data_vld进行逻辑“与”之后生成的复位信号作为两个级联寄存器的异步复位端输入,两组的两个级联寄存器分别生成的滤波器复位信号filter0_rst_b、filter1_rst_b、filter2_rst_b分别送往滤波器filter0、filter1、filter2。这样属于clk0时钟域的结果,filter1与filter2则会处于复位状态,仅filter0会处于工作状态;同理,属于clk1时钟域的结果,filter0与filter2则会处于复位状态,仅filter1会处于工作状态;属于clk2时钟域的结果,filter0与filter1则会处于复位状态,仅filter2会处于工作状态;最终将三个滤波器的结果通过多输入或门做逻辑“或”处理,输出最终的有效结果。使用该结构,有效结果O_fnl_result仅有位于被触发的时钟域的滤波器能输出,位于未被触发的时钟域的滤波器不能输出结果,结果被屏蔽。
图10为三个时钟域切换的波形示意图。如图10所示,T1时刻,收到触发请求,由clk0时钟域发送一个trigger1,clk_domain_switch0变为2’b00,此时filter1、filter2的复位立即置起,也就是filter1_rst_b、filter2_rst_b变为低电平,将filter1、filter2的输出结果截停;T2时刻,clk0时钟域可以采样到模拟模块输出的模拟结果,并稳定的作为clk0时钟域的有效结果输出;T3时刻,收到触发请求,由clk1时钟域发送了一个新的trigger2,clk_domain_switch1变为2’b01,此时filter0、filter2的复位立即置起,也就是filter0_rst_b、filter2_rst_b变为低电平,将filter0、filter2的输出结果截停;T4时刻,clk1时钟域可以采样到模拟模块输出的模拟结果,并稳定的作为clk1时钟域的有效结果输出;T5时刻,由clk2时钟域发送了一个新的触发trigger3,clk_domain_switch2变为2’b10,此时,filter0、filter1的复位立即置起,也就是filter0_rst_b、filter1_rst_b变为低电平,将filter0、filter1的输出结果截停;T6时刻,时钟clk2可以采样到预处理结果,并稳定的作为clk2时钟域的有效结果输出O_fnl_result。
根据本申请的实施例的多时钟域快速切换的系统,通过增加滤波模块和掩码模块,能够实现对属于不同时钟域的触发能快速切换并传输,不会留下上一次触发的残留结果,并且减少了同步器的使用数量,响应快,延时低。
实施例2
图11为根据本申请一个实施例的多时钟域快速切换的方法流程图,下面将参考图11,对本申请的多时钟域快速切换的方法进行详细描述。
在步骤301,基于外部触发请求和内部定时触发请求生成不同配置的触发信号和触发指示信号并输出,所述触发指示信号用于控制多个所述时钟域之间的切换;
具体地,所述触发指示信号控制时钟域选择信号的转换。
具体地,根据所述触发请求包括:外部触发请求和内部定时触发请求。
在步骤302,基于所述触发指示信号和配置参数生成时钟域选择信号和掩码信号并输出。
在步骤303,基于多个电平信号和所述触发信号生成模拟结果并输出;
在步骤304,基于所述模拟结果生成预处理结果并输出;
具体地,所述组合逻辑处理,具体包括:极性取反和直流偏置补偿。
在步骤305,基于所述时钟域信号、所述时钟域选择信号和所述掩码信号生成滤波器复位信号,控制所述滤波器对所述预处理结果进行采样和滤波,位于被触发的所述时钟域信号的滤波器输出有效结果,位于未被触发的所述时钟域信号的滤波器不能输出有效结果。
需要说明的是,上述实施例中对多时钟域快速切换的系统的解释说明也适用于上述实施例中的多时钟域快速切换的方法,此处不再赘述。
综上所述,根据本申请实施例的多时钟域快速切换的方法,通过增加滤波模块和掩码模块,能够实现对属于不同时钟域的触发能快速切换并传输,不会留下上一次触发的残留结果,并且减少了同步器的使用数量,响应快,延时低。
实施例3
图12为根据本申请实施例的芯片结构示意图。参考图12所示,该芯片40上集成有如上所述的多时钟域快速切换的系统10。
实施例4
图13为根据本申请实施例的电路板结构示意图。参考图13所示,该电路板50上包括如上所述的芯片40。
实施例5
图14为根据本申请实施例的车机结构示意图。参考图14所示,该车机60包括如上所述的芯片40。
实施例6
本申请一个实施例中,还提供了一种电子设备,包括:存储器和处理器,所述存储器中存储有计算机指令,所述处理器被设置为运行所述指令以执行上述实施例的多时钟域快速切换的方法的步骤。
实施例7
本申请一个实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的系统中所包含的;也可以是单独存在,而未装配入该系统中。上述计算机可读存储介质承载有一个或者多个计算机指令,当上述一个或者多个计算机指令被执行时,实现上述实施例的多时钟域快速切换方法的步骤。
本申请的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本领域普通技术人员可以理解:以上仅为本申请的优选实施例而已,并不用于限制本申请,尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
- 一种基于GPS北斗秒脉冲快速时钟锁定系统和方法
- 一种能够快速实现干湿加工切换的除屑系统及其使用方法
- 一种星载复杂开关网络切换快速搜索方法及系统
- 一种实现快速应用切换的车机分屏方法及其系统
- 一种工艺气体快速切换的控制方法及系统
- 一种基于跨时钟域的异步时钟选择电路及其切换方法
- 慢时钟域lockstep模块中寄存器的快速诊断系统及方法