CN107425844A - 一种适用于sram型fpga的可配置时钟缓冲器 - Google Patents
一种适用于sram型fpga的可配置时钟缓冲器 Download PDFInfo
- Publication number
- CN107425844A CN107425844A CN201710581051.1A CN201710581051A CN107425844A CN 107425844 A CN107425844 A CN 107425844A CN 201710581051 A CN201710581051 A CN 201710581051A CN 107425844 A CN107425844 A CN 107425844A
- Authority
- CN
- China
- Prior art keywords
- gate
- flip flop
- type flip
- clock
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
- H03K19/1774—Structural details of routing resources for global signals, e.g. clock, reset
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K23/00—Pulse counters comprising counting chains; Frequency dividers comprising counting chains
- H03K23/64—Pulse counters comprising counting chains; Frequency dividers comprising counting chains with a base or radix other than a power of two
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Logic Circuits (AREA)
- Electronic Switches (AREA)
Abstract
本发明提供一种适用于SRAM型FPGA的可配置时钟缓冲器,包括可配置时钟N分频电路M21、时序匹配电路M23、配置存储器M22和多路器M24。配置存储器M22接收FPGA输入的配置信息,当分频数信息为N时,可配置时钟N分频电路M21对外部输入时钟信号CLKIN进行N分频,并将分频后的时钟信号输出给多路器M24,当分频数信息为1时,时序匹配电路M23对外部输入时钟信号CLKIN进行时序调整,使其与可配置时钟N分频电路M21输出的时钟信号边沿对齐,将调整后的时钟信号输出给多路器M24,多路器M24将时钟传输给FPGA。本发明可实现任意倍数的时钟分频,时钟上升沿的延时大小与分频数N无关。
Description
技术领域
本发明涉及一种适用于SRAM型FPGA的可配置时钟缓冲器,属于集成电路技术领域。
背景技术
现场可编程逻辑门阵列(以下简称FPGA)根据配置信息可以实现不同的逻辑功能。SRAM型FPGA内使用由SRAM单元组成的配置存储器阵列存储用户的配置信息,由SRAM单元组成的配置帧可以无限次反复烧写,使FPGA的应用具有极大的灵活性,特别适合航天工程对宇航用器件的高可靠、多品种、小批量的特色要求,广泛应用于航天工程中。
随着数字系统复杂度的增加与通信速度的提高,使用串行通信在多数情况下成为一个较优的选择。对串行数据解串需要使用一个低频时钟,该低频时钟的频率为原始串行数据时钟频率的1/N。在FPGA中,为了给用户提供最高的使用灵活性,需要在配置中可对N进行设置,如图1所示:当需要进行数据解串处理时,可以对时钟进行N分频;当不需要进行数据解串处理时,可以提供时钟对并行数据进行流水缓存。为了保证电路整体良好的时序特性,在各种配置下时钟缓冲器输出时钟的边沿要精确对齐,满足后级电路的建立/保持时间。
目前常见的时钟缓冲器基于计数器进行分频,主要问题是分频数受限,只能进行2的幂级数的分频,同时无法保证各种分频下输出时钟边沿的精确对齐,从而降低后级电路时序特性。
发明内容
本发明解决的技术问题为:克服现有技术的不足,提供一种适用于SRAM型FPGA的可配置时钟缓冲器,可实现任意倍数的时钟分频,时钟上升沿的延时大小与分频数N无关。
本发明解决的技术方案为:一种适用于SRAM型FPGA的可配置时钟缓冲器,包括:可配置时钟N分频电路M21、时序匹配电路M23、配置存储器M22和多路器M24;
配置存储器M22接收FPGA输入的配置信息,并将该配置信息输出给可配置时钟N分频电路M21、时序匹配电路M23和输出多路器M24,所述配置信息为分频数信息;
可配置时钟N分频电路M21接收配置存储器M22输出的分频数信息以及外部输入的时钟信号CLKIN和使能信号CLKDEN,当分频数信息为1时,可配置时钟N分频电路不动作;当分频数信息为N时,可配置时钟N分频电路M21对外部输入时钟信号CLKIN进行N分频,并将分频后的时钟信号输出给多路器M24,其中N为大于1的自然数;
时序匹配电路M23接收配置存储器M22输出的分频数信息以及外部输入的时钟信号CLKIN和使能信号CLKDEN,当分频数信息为N,时序匹配电路M23不动作;当分频数信息为1时,时序匹配电路M23对外部输入时钟信号CLKIN进行时序调整,使其与可配置时钟N分频电路M21输出的时钟信号边沿对齐,将调整后的时钟信号输出给多路器M24;
多路器M24接收配置存储器M22输出的分频数信息以及可配置时钟N分频电路M21和时序匹配电路M23输出的时钟信号,根据分频数信息确定输出时钟信号:当N>1时,将可配置时钟N分频电路M21的输出时钟传输给FPGA;当N=1时,将时序匹配电路M23的输出时钟传输给FPGA。
所述可配置时钟N分频电路包括多路器M31、配置存储器M32、D触发器D30、非门G40、传输门G61、传输门G62以及n组分频控制单元;当N为奇数时,n=(N-1)/2,当N为偶数时,n=N/2-1。
配置存储器M32用于存储FPGA输入的分频数N,并将分频数N发送给多路器M31的选择端,多路器M31的第1输入端地连接;
D触发器D30的D端连接多路器M31的输出端,D触发器D30的Q端连接非门G40的输入端,非门G40的输出端连接输出多路器M31的第2输入端;D触发器D30的CLK端与外部输入时钟信号CLKIN连接,D触发器D30的R端与外部输入使能信号CLKDEN连接;
第i组分频控制单元包括或非门G5i、非门G4i和D触发器D3i;或非门G5i的第1输入端连接D触发器D3i的D端,或非门G5i的第2输入端连接D触发器D3i的Q端,或非门G5i的输出端连接多路器M31的第(2i+1)输入端,非门G4i的输入端连接D触发器D3i的Q端,非门G4i的输出端连接多路器M31的第(2i+2)输入端,D触发器D3i的D端连接D触发器D3(i-1)的Q端,其中1<=i<=n;
每个分频控制单元中D触发器的CLK端与外部输入时钟信号CLKIN连接,每个分频控制单元中D触发器的R端与外部输入使能信号CLKDEN连接;
传输门G61的输入端连接D触发器D30的Q端,传输门G61的输出端连接传输门G62的输入端,传输门G62的输出端作为可配置时钟N分频电路的输出端,用于输出时钟NCLKOUT。
所述时序匹配电路包括D触发器D130、D触发器D131、非门G130、非门G131、非门G132、非门G133、传输门G134和2选1多路器M130;
D触发器D130的CLK端连接外部输入时钟信号CLKIN,D触发器D130的D端连接非门G131的输出端,D触发器D130的Q端同时与非门G131的输入端、非门G133的输入端以及传输门G134的输入端连接,传输门G134的输出端与2选1多路器M130的第一输入端连接,非门G133的输出端与2选1多路器M130的第二输入端连接;
非门G130的输入端连接外部输入时钟信号CLKIN,非门G130的输出端连接D触发器D131的CLK端,D触发器D130的R端以及D触发器D131的R端同时与外部输入使能信号CLKDEN连接;D触发器D131的D端连接非门G132的输出端;D触发器D131的Q端同时与非门G132的输入端以及2选1多路器M130的选择端连接,2选1多路器M130的输出端作为时序匹配电路的输出端,用于输出时钟1CLKOUT。
所述传输门G61、非门G133以及传输门G134尺寸相同,传输门G62与2选1多路器M130内所用传输门的尺寸相同。
本发明与现有技术相比的有益效果在于:
(1)使用本发明的可配置时钟N分频电路,根据FPGA的配置信息对分频数进行配置,通过调整电路结构可以实现任意整数倍数的时钟分频。
(2)当分频数大于1时,输入时钟通过可配置时钟N分频电路进入FPGA内部;当分频数等于1时,输入时钟通过时序匹配电路进入FPGA内部。当时钟通过可配置时钟N分频电路传输时,其上升沿延时为一个D触发器的CLK-Q的延时、两个传输门的延时与一个2选1多路器延时的总和;当时钟通过时序匹配电路时,其上升沿延时为一个D触发器的CLK-Q的延时、一个传输门或一个非门的延时与两个2选1多路器延时的总和,通过电路设计(设置器件尺寸),可使传输门、非门、二选一多路器的延时基本相同,使得不同分频倍数下时钟上升沿可以对齐,时钟上升沿的延时大小与分频数N无关。保证各种分频下输出时钟边沿的精确对齐,从而降低后级电路时序特性。
附图说明
图1为时钟缓冲器在FPGA中的应用示意图;
图2为本发明的时钟缓冲器整体结构示意图;
图3为本发明的可配置时钟N分频电路结构示意图;
图4为本发明的可配置时钟N(N=8时)分频电路结构示意图;
图5为本发明时钟分频电路进行2分频时电路工作原理示意图,其中(a)为电路结构示意图,(b)为时序图;
图6为本发明时钟分频电路进行3分频时电路工作原理示意图,其中(a)为电路结构示意图,(b)为时序图;
图7为本发明时钟分频电路进行4分频时电路工作原理示意图,其中(a)为电路结构示意图,(b)为时序图;
图8为本发明时钟分频电路进行5分频时电路工作原理示意图,其中(a)为电路结构示意图,(b)为时序图;
图9为本发明时钟分频电路进行6分频时电路工作原理示意图,其中(a)为电路结构示意图,(b)为时序图;
图10为本发明时钟分频电路进行7分频时电路工作原理示意图,其中(a)为电路结构示意图,(b)为时序图;
图11为本发明时钟分频电路进行8分频时电路工作原理示意图,其中(a)为电路结构示意图,(b)为时序图;
图12为本发明的可配置时钟N(N=10时)分频电路结构示意图;
图13为本发明时序匹配电路结构示意图;
图14为本发明时序匹配电路工作原理示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细描述。
图2所示为本发明的适用于SRAM型FPGA的可配置时钟缓冲器,包括:可配置时钟N分频电路M21、时序匹配电路M23、配置存储器M22和多路器M24;
配置存储器M22接收FPGA输入的配置信息,并将该配置信息输出给可配置时钟N分频电路M21、时序匹配电路M23和输出多路器M24,其中配置信息为分频数信息;
可配置时钟N分频电路M21接收配置存储器M22输出的分频数信息以及外部输入的时钟信号CLKIN和使能信号CLKDEN,当分频数信息为1时,可配置时钟N分频电路不动作;当分频数信息为N时,可配置时钟N分频电路M21对外部输入时钟信号CLKIN进行N分频,并将分频后的时钟信号输出给多路器M24,其中N为大于1的自然数;
时序匹配电路M23接收配置存储器M22输出的分频数信息以及外部输入的时钟信号CLKIN和使能信号CLKDEN,当分频数信息为N,时序匹配电路M23不动作;当分频数信息为1时,时序匹配电路M23对外部输入时钟信号CLKIN进行时序调整,使其与可配置时钟N分频电路M21输出的时钟信号边沿对齐,将调整后的时钟信号输出给多路器M24;
多路器M24接收配置存储器M22输出的分频数信息以及可配置时钟N分频电路M21和时序匹配电路M23输出的时钟信号,根据分频数信息确定输出时钟信号:当N>1时,将可配置时钟N分频电路M21的输出时钟传输给FPGA;当N=1时,将时序匹配电路M23的输出时钟传输给FPGA。
图3所示为本发明的可配置时钟N分频电路,包括多路器M31、配置存储器M32、D触发器D30、非门G40、传输门G61、传输门G62以及n组分频控制单元;当N为奇数时,n=(N-1)/2,当N为偶数时,n=N/2-1。
配置存储器M32用于存储FPGA输入的分频数N,并将分频数N发送给多路器M31的选择端,多路器M31的第1输入端地连接;
D触发器D30的D端连接多路器M31的输出端,D触发器D30的Q端连接非门G40的输入端,非门G40的输出端连接输出多路器M31的第2输入端;D触发器D30的CLK端与外部输入时钟信号CLKIN连接,D触发器D30的R端与外部输入使能信号CLKDEN连接;
第i组分频控制单元包括或非门G5i、非门G4i和D触发器D3i;或非门G5i的第1输入端连接D触发器D3i的D端,或非门G5i的第2输入端连接D触发器D3i的Q端,或非门G5i的输出端连接多路器M31的第(2i+1)输入端,非门G4i的输入端连接D触发器D3i的Q端,非门G4i的输出端连接多路器M31的第(2i+2)输入端,D触发器D3i的D端连接D触发器D3(i-1)的Q端,其中1<=i<=n;
每个分频控制单元中D触发器的CLK端与外部输入时钟信号CLKIN连接,每个分频控制单元中D触发器的R端与外部输入使能信号CLKDEN连接;
传输门G61的输入端连接D触发器D30的Q端,传输门G61的输出端连接传输门G62的输入端,传输门G62的输出端作为可配置时钟N分频电路的输出端,用于输出时钟NCLKOUT。
下面以N=8为例,说明本发明的可配置时钟N分频电路的工作过程与工作原理。N=8时,本发时的可配置时钟N分频电路可简化为图4所示电路。如图所示,分频电路包括:D触发器D30、D触发器D31、D触发器D32、D触发器D33,非门G40、非门G41、非门G42、非门G43,或非门G51、或非门G52、或非门G53,8选1多路器M31、配置存储器M32、传输门G61与传输门G62。
输入时钟信号CLKIN连接D触发器D30的CLK端、D触发器D31的CLK端、D触发器D32的CLK端、D触发器D33的CLK端。使能信号CLKDEN连接D触发器D30的R端、D触发器D31的R端、D触发器D32的R端、D触发器D33的R端。
D触发器D30的D端连接8选1多路器M31的输出端;D触发器D30的Q端连接D触发器D31的D端、非门G40的输入端、或非门G51的第1输入端、传输门G61的输入端。D触发器D31的Q端连接D触发器D32的D端、非门G41的输入端、或非门G51的第2输入端、或非门G52的第1输入端。D触发器D32的Q端连接D触发器D33的D端、非门G42的输入端、或非门G52的第2输入端、或非门G53的第1输入端。D触发器D33的Q端连接非门G43的输入端、或非门G53的第2输入端。
8选1多路器M31的第1输入端连接至地;8选1多路器M31的第2输入端连接非门G40的输出;8选1多路器M31的第3输入端连接或非门G51的输出端;8选1多路器M31的第4输入端连接非门G41的输出端;8选1多路器M31的第5输入端连接或非门G52的输出端;8选1多路器M31的第6输入端连接非门G42的输出端;8选1多路器M31的第7输入端连接或非门G53的输出端;8选1多路器M31的第8输入端连接非门G43的输出端。
传输门G61的输出端连接传输门G62的输入端。传输门G62的输出端用于输出时钟信号NCLKOUT。
为方便描述电路结构与工作原理,对电路中的关键结点进行命名:定义D触发器D30的输出端为信号Q0、D触发器D31的输出端为信号Q1、D触发器D32的输出端为信号Q2、D触发器D33的输出端为信号Q3;定义8选1多路器M31的输出端输出信号D0。下面结合波形说明电路的工作原理。
进行2分频时电路的工作过程如图5所示。如图5中(a)所示,配置存储器将001输出给8选1多路器M31的选择端,8选1多路器M31将非门G40的输出连接至8选1多路器M31的输出端。
图5中(b)为时序图。开始时,CLKDEN为1,D触发器D30为复位状态,D0、Q0分别为1、0。当CLKDEN变为0后,D触发器D30开始工作。
第1个CLKIN上升沿时,由于D0为1,Q0变为1。之后,由于Q0变为1,D0变为0。第1个CLKIN上升沿后,D0、Q0分别为0、1。
第2个CLKIN上升沿时,由于D0为0,Q0变为0。之后,由于Q0变为0,D0变为1。第2个CLKIN上升沿后,D0、Q0分别为1、0。
此时,电路回到初始状态,后续工作状态与前述相同。此时,NCLKOUT为CLKIN的2分频。
进行3分频时电路的工作过程如图6所示。如图6中(a)所示,配置存储器将010输出给8选1多路器M31的选择端,8选1多路器M31将或非门G51的输出连接至8选1多路器M31的输出端。
图6中(b)为时序图。开始时,CLKDEN为1,D触发器D30、D触发器D31为复位状态,D0、Q1、Q2分别为1、0、0。当CLKDEN变为0后,D触发器D30、D触发器D31开始工作。
第1个CLKIN上升沿时:由于D0、Q0分别为1、0,Q0、Q1分别变1、0;之后,由于Q0为1,或非门G51使D0变为0。第1个CLKIN上升沿后,D0、Q0、Q1分别为0、1、0。
第2个CLKIN上升沿时:由于D0、Q0分别为0、1,Q0、Q1分别变0、1;之后,由于Q1为1,或非门G51使D0为0不变。第2个CLKIN上升沿后,D0、Q0、Q1分别为0、0、1。
第3个CLKIN上升沿时:由于D0、Q0分别为0、0,Q0、Q1分别变0、0;之后,由于Q0与Q1均为0,或非门G51使D0变为1。第3个CLKIN上升沿后,D0、Q0、Q1分别为1、0、0。
此时,电路回到初始状态,后续工作状态与前述相同,D0、Q0、Q1状态转换如表1所示。可见NCLKOUT为CLKIN的3分频。
表1 3分频时D0、Q0、Q1状态转换表
进行4分频时电路的工作过程如图7所示。如图7中(a)所示,配置存储器将011输出给8选1多路器M31的选择端,8选1多路器M31将非门G41的输出连接至8选1多路器M31的输出端。
图7中(b)为时序图。开始时,CLKDEN为1,D触发器D30、D触发器D31为复位状态,D0、Q0、Q1分别为1、0、0。当CLKDEN变为0后,D触发器D30、D触发器D31开始工作。
第1个CLKIN上升沿时:由于D0、Q0分别为1、0,Q0、Q1分别变为1、0。之后,由于Q1为0不变,非门G41使D0为1不变。第1个CLKIN上升沿后,D0、Q0、Q1分别为1、1、0。
第2个CLKIN上升沿时:由于D0、Q0分别为1、1,Q0、Q1分别变为1、1。之后,由于Q1变为1,非门G41使D0变为0。第2个CLKIN上升沿后,D0、Q0、Q1分别为0、1、1。
第3个CLKIN上升沿时:由于D0、Q0分别为0、1,Q0、Q1分别变为0、1。之后,由于Q1为1不变,非门G41使D0为0不变。第3个CLKIN上升沿后,D0、Q0、Q1分别为0、0、1。
第4个CLKIN上升沿时:由于D0、Q0分别为0、0,Q0、Q1分别变为0、0。之后,由于Q1变为0,非门G41使D0变为1。第4个CLKIN上升沿后,D0、Q0、Q1分别为1、0、0。
此时,电路回到初始状态,后续工作状态与前述相同,D0、Q0、Q1状态转换如表2所示。可见NCLKOUT为CLKIN的4分频。
表2 4分频时D0、Q0、Q1状态转换表
进行5分频时电路的工作过程如图8所示。如图8中(a)所示,配置存储器将100输出给8选1多路器M31的选择端,8选1多路器M31将或非门G52的输出连接至8选1多路器M31的输出端。
图8中(b)为时序图。开始时,CLKDEN为1,D触发器D30、D触发器D31、D触发器D32为复位状态,D0、Q0、Q1、Q2分别为1、0、0、0。当CLKDEN变为0后,D触发器D30、D触发器D31、D触发器D32开始工作。
第1个CLKIN上升沿时:由于D0、Q0、Q1分别为1、0、0,Q0、Q1、Q2分别变为1、0、0。之后,由于Q1、Q2为0不变,D0为1不变。第1个CLKIN上升沿后,D0、Q0、Q1、Q2分别为1、1、0、0。
第2个CLKIN上升沿时:由于D0、Q0、Q1分别为1、1、0,Q0、Q1、Q2分别变为1、1、0。之后,由于Q1变为1,D0变为0。第2个CLKIN上升沿后,D0、Q0、Q1、Q2分别为0、1、1、0。
第3个CLKIN上升沿时:由于D0、Q0、Q1分别为0、1、1,Q0、Q1、Q2分别变为0、1、1。之后,由于Q1、Q2均为1,D0为0不变。第3个CLKIN上升沿后,D0、Q0、Q1、Q2分别为0、0、1、1。
第4个CLKIN上升沿时:由于D0、Q0、Q1分别为0、0、1,Q0、Q1、Q2分别变为0、0、1。之后,由于Q2为1,D0为0不变。第4个CLKIN上升沿后,D0、Q0、Q1、Q2分别为0、0、0、1。
第5个CLKIN上升沿时:由于D0、Q0、Q1分别为0、0、0,Q0、Q1、Q2分别变为0、0、0。之后,由于Q1、Q2均为0,D0变为1。第5个CLKIN上升沿后,D0、Q0、Q1、Q2分别为1、0、0、0。
此时,电路回到初始状态,后续工作状态与前述相同,D0、Q0、Q1、Q2状态转换如表3所示,可见NCLKOUT为CLKIN的5分频。
表3 5分频时D0、Q0、Q1、Q2状态转换表
进行6分频时电路的工作过程如图9所示。如图9中(a)所示,配置存储器将101输出给8选1多路器M31的选择端,8选1多路器M31将非门G42的输出连接至8选1多路器M31的输出端。
图9中(b)为时序图。开始时,CLKDEN为1,D触发器D30、D触发器D31、D触发器D32为复位状态,D0、Q0、Q1、Q2分别为1、0、0、0。当CLKDEN变为0后,D触发器D30、D触发器D31、D触发器D32开始工作。
第1个CLKIN上升沿时:由于D0、Q0、Q1分别为1、0、0,Q0、Q1、Q2分别变为1、0、0。之后,由于Q2为0不变,D0为1不变。第1个CLKIN上升沿后,D0、Q0、Q1、Q2分别为1、1、0、0。
第2个CLKIN上升沿时:由于D0、Q0、Q1分别为1、1、0,Q0、Q1、Q2分别变为1、1、0。之后,由于Q2为0不变,D0为1不变。第2个CLKIN上升沿后,D0、Q0、Q1、Q2分别为1、1、1、0。
第3个CLKIN上升沿时:由于D0、Q0、Q1分别为1、1、1,Q0、Q1、Q2分别变为1、1、1。之后,由于Q2变为1,D0变为0。第3个CLKIN上升沿后,D0、Q0、Q1、Q2分别为0、1、1、1。
第4个CLKIN上升沿时:由于D0、Q0、Q1分别为0、1、1,Q0、Q1、Q2分别变为0、1、1。之后,由于Q2为1不变,D0为0不变。第4个CLKIN上升沿后,D0、Q0、Q1、Q2分别为0、0、1、1。
第5个CLKIN上升沿时:由于D0、Q0、Q1分别为0、0、1,Q0、Q1、Q2分别变为0、0、1。之后,由于Q23为1不变,D0为0不变。第5个CLKIN上升沿后,D0、Q0、Q1、Q2分别为0、0、0、1。
第6个CLKIN上升沿时:由于D0、Q0、Q1分别为0、0、0,Q0、Q1、Q2分别变为0、0、0。之后,由于Q23变为0,D0变为1。第6个CLKIN上升沿后,D0、Q0、Q1、Q2分别为1、0、0、0。
此时,电路回到初始状态,后续工作状态与前述相同,D0、Q0、Q1、Q2状态转换如表4所示,可见NCLKOUT为CLKIN的6分频。
表4 6分频时的D0、Q0、Q1、Q2状态转换表
进行7分频时电路的工作过程如图10所示。如图10中(a)所示,配置存储器将110输出给8选1多路器M31的选择端,8选1多路器M31将或非门G53的输出连接至8选1多路器M31的输出端。
图10中(b)为时序图。开始时,CLKDEN为1,D触发器D30、D触发器D31、D触发器D32、D触发器D33为复位状态,D0、Q0、Q1、Q2、Q3分别为1、0、0、0、0。当CLKDEN变为0后,D触发器D30、D触发器D31、D触发器D32、D触发器D33开始工作。
第1个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为1、0、0、0,Q0、Q1、Q2、Q3分别变为1、0、0、0。之后,由于Q2与Q3为0不变,D0为1不变。第1个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为1、1、0、0、0。
第2个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为1、1、0、0,Q0、Q1、Q2、Q3分别变为1、1、0、0。之后,由于Q2与Q3为0不变,D0为1不变。第2个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为1、1、1、0、0。
第3个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为1、1、1、0,Q0、Q1、Q2、Q3分别变为1、1、1、0。之后,由于Q2变为1,D0变为0。第3个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为0、1、1、1、0。
第4个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为0、1、1、1,Q0、Q1、Q2、Q3分别变为0、1、1、1。之后,由于Q2与Q3均为1,D0为0不变。第4个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为0、0、1、1、1。
第5个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为0、0、1、1,Q0、Q1、Q2、Q3分别变为0、0、1、1。之后,由于Q2与Q3均为1,D0为0不变。第5个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为0、0、0、1、1。
第6个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为0、0、0、1,Q0、Q1、Q2、Q3分别变为0、0、0、1。之后,由于Q3为1不变,D0为0不变。第6个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为0、0、0、0、1。
第7个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为0、0、0、0,Q0、Q1、Q2、Q3分别变为0、0、0、0。之后,由于Q3变为0,D0变为1。第7个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为1、0、0、0、0。
此时,电路回到初始状态,后续工作状态与前述相同,D0、Q0、Q1、Q2、Q3状态转换如表5所示,可见NCLKOUT为CLKIN的7分频。
表5 7分频时D0、Q0、Q1、Q2、Q3状态转换表
进行8分频时电路的工作过程如图11所示。如图11中(a)所示,配置存储器将111输出给8选1多路器M31的选择端,8选1多路器M31将非门G43的输出连接至8选1多路器M31的输出端。
图11中(b)为时序图。开始时,CLKDEN为1,D触发器D30、D触发器D31、D触发器D32、D触发器D33为复位状态,D0、Q0、Q1、Q2、Q3分别为1、0、0、0、0。当CLKDEN变为0后,D触发器D30、D触发器D31、D触发器D32、D触发器D33开始工作。
第1个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为1、0、0、0,Q0、Q1、Q2、Q3分别变为1、0、0、0。之后,由于Q3为0不变,D0为1不变。第1个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为1、1、0、0、0。
第2个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为1、1、0、0,Q0、Q1、Q2、Q3分别变为1、1、0、0。之后,由于Q3为0不变,D0为1不变。第2个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为1、1、1、0、0。
第3个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为1、1、1、0,Q0、Q1、Q2、Q3分别变为1、1、1、0。之后,由于Q3为0不变,D0为1不变。第3个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为1、1、1、1、0。
第4个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为1、1、1、1,Q0、Q1、Q2、Q3分别变为1、1、1、1。之后,由于Q3变为1,D0变为0。第4个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为0、1、1、1、1。
第5个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为0、1、1、1,Q0、Q1、Q2、Q3分别变为0、1、1、1。之后,由于Q3为1不变,D0为0不变。第5个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为0、0、1、1、1。
第6个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为0、0、1、1,Q0、Q1、Q2、Q3分别变为0、0、1、1。之后,由于Q3为1不变,D0为0不变。第6个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为0、0、0、1、1。
第7个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为0、0、0、1,Q0、Q1、Q2、Q3分别变为0、0、0、1。之后,由于Q3为1不变,D0为0不变。第7个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为0、0、0、0、1。
第8个CLKIN上升沿时:由于D0、Q0、Q1、Q2分别为0、0、0、0,Q0、Q1、Q2、Q3分别变为0、0、0、0。之后,由于Q3变为0,D0变为0。第8个CLKIN上升沿后,D0、Q0、Q1、Q2、Q3分别为1、0、0、0、0。
此时,电路回到初始状态,后续工作状态与前述相同,D0、Q0、Q1、Q2、Q3状态转换如表6所示,可见NCLKOUT为CLKIN的8分频。
表6 8分频时的D0、Q0、Q1、Q2、Q3状态转换表
如前所述,通过配置存储器M32对8选1多路器M31进行控制,可以实现任意N分频(N=2~8)。按照本发明的方案可以实现更高的分频数。图12所示为实现9分频与10分频的电路图。通过在图4所示8分频电路的基础上增加D触发器D34、或非门G54、非门G44,并把8选1多路器改为10选1多路器,即可实现9分频与10分频。其工作原理与8分频类似,不再赘述。
从上述各个时序图中可以看出,当N为偶数时,本发明分频后的时钟占空比为50%;当N为奇数时,分频后的时钟占空比小于50%。
图13所示为本发明的时序匹配电路,时序匹配电路的作用即为对时钟加沿进行延时,使时钟通过时序匹配电路后的时序特性与N可配置时钟分频电路相匹配。时序匹配电路包括D触发器D130、D触发器D131、非门G130、非门G131、非门G132、非门G133、传输门G134和2选1多路器M130。
D触发器D130的CLK端连接外部输入时钟信号CLKIN,D触发器D130的D端连接非门G131的输出端,D触发器D130的Q端同时与非门G131的输入端、非门G133的输入端以及传输门G134的输入端连接,传输门G134的输出端与2选1多路器M130的第一输入端连接,非门G133的输出端与2选1多路器M130的第二输入端连接;
非门G130的输入端连接外部输入时钟信号CLKIN,非门G130的输出端连接D触发器D131的CLK端,D触发器D130的R端以及D触发器D131的R端同时与外部输入使能信号CLKDEN连接;D触发器D131的D端连接非门G132的输出端;D触发器D131的Q端同时与非门G132的输入端以及2选1多路器M130的选择端连接,2选1多路器M130的输出端作为时序匹配电路的输出端,用于输出时钟1CLKOUT。
为方便描述电路结构与工作原理,对电路中的关键结点进行命名:定义D触发器D130的输出端为信号QQ0、D触发器D131的输出端为信号QQ1;定义2选1多路器M130的第1输入端为信号I1、第2输入端为信号I2。下面结合波形说明时序匹配电路的工作原理。
时序匹配电路工作时波形如图14所示,其工作过程如下:开始时,CLKDEN为1,D触发器D130、D触发器D131为复位状态。此时QQ0与QQ1均为0,I1与I2分别为0、1,多路器M130将I1传输至输出1CLKOUT。此时1CLKOUT为0。当CLKDEN变为0后,D触发器D130、D触发器D131开始工作。
第1个CLKIN上升沿时:QQ0由0变为1,QQ1为0不变。此后,I1由0变为1,I2由1变为0。由于QQ1为0不变,多路器M130将I1输出至1CLKOUT。1CLKOUT将跟随I1由0变为1。
第1个CLKIN下降沿时:QQ0为1不变,QQ1由0变为1。I1为1不变,I2为0不变。由于QQ1由0变为1,多路器M130将I2输出至1CLKOUT。1CLKOUT将由跟随I1变为跟随I2,即由1变为0。
第2个CLKIN上升沿时:QQ0由1变为0,QQ1为1不变。此后,I1由1变为0,I2由0变为1。由于QQ1为1,多路器M130将I2输出至1CLKOUT。1CLKOUT将跟随I2由0变为1。
第2个CLKIN下降沿时:QQ0为0不变,QQ1由1变为0。I1为0不变,I2为1不变。由于QQ1由1变为0,多路器M130将I1输出至1CLKOUT。1CLKOUT将跟随I2变为跟随I1,即由1变为0。
此时,电路回到初始状态,后续工作状态与前述相同。可见1CLKOUT与CLKIN具有相同的频率。
通过对可配置时钟N分频电路的分析可知:对任意的分频数,输出时钟NCLKOUT与输入时钟CLKIN上升沿的相对延时为D触发器CLK-Q端的延时与两个传输门的延时之和,该延时与分频数N的大小无关。
通过对时序匹配电路的分析可知:输出时钟1CLKOUT与输入时钟CLKIN上升沿的相对延时为为1个D触发器的CLK-Q的延时、1个传输门(或一个非门的延时)与1个2选1多路器延时的总和。
通过电路设计,如令传输门G61、非门G133以及传输门G134尺寸相同、同时令传输门G62与2选1多路器M130内所用传输门的尺寸相同,可使传输门、非门、二选一多路器的延时相同。使得时钟上升沿通过可配置时钟N分频电路与时序匹配电路的延时相同,使得任何分频倍数下,时钟上升沿的延时大小与分频数N无关。
本说明书中未作详细描述的内容属本领域专业技术人员的公知技术。
Claims (4)
1.一种适用于SRAM型FPGA的可配置时钟缓冲器,其特征在于包括:可配置时钟N分频电路M21、时序匹配电路M23、配置存储器M22和多路器M24;
配置存储器M22接收FPGA输入的配置信息,并将该配置信息输出给可配置时钟N分频电路M21、时序匹配电路M23和输出多路器M24,所述配置信息为分频数信息;
可配置时钟N分频电路M21接收配置存储器M22输出的分频数信息以及外部输入的时钟信号CLKIN和使能信号CLKDEN,当分频数信息为1时,可配置时钟N分频电路不动作;当分频数信息为N时,可配置时钟N分频电路M21对外部输入时钟信号CLKIN进行N分频,并将分频后的时钟信号输出给多路器M24,其中N为大于1的自然数;
时序匹配电路M23接收配置存储器M22输出的分频数信息以及外部输入的时钟信号CLKIN和使能信号CLKDEN,当分频数信息为N,时序匹配电路M23不动作;当分频数信息为1时,时序匹配电路M23对外部输入时钟信号CLKIN进行时序调整,使其与可配置时钟N分频电路M21输出的时钟信号边沿对齐,将调整后的时钟信号输出给多路器M24;
多路器M24接收配置存储器M22输出的分频数信息以及可配置时钟N分频电路M21和时序匹配电路M23输出的时钟信号,根据分频数信息确定输出时钟信号:当N>1时,将可配置时钟N分频电路M21的输出时钟传输给FPGA;当N=1时,将时序匹配电路M23的输出时钟传输给FPGA。
2.根据权利要求1所述的一种适用于SRAM型FPGA的可配置时钟缓冲器,其特征在于:所述可配置时钟N分频电路包括多路器M31、配置存储器M32、D触发器D30、非门G40、传输门G61、传输门G62以及n组分频控制单元;当N为奇数时,n=(N-1)/2,当N为偶数时,n=N/2-1。
配置存储器M32用于存储FPGA输入的分频数N,并将分频数N发送给多路器M31的选择端,多路器M31的第1输入端地连接;
D触发器D30的D端连接多路器M31的输出端,D触发器D30的Q端连接非门G40的输入端,非门G40的输出端连接输出多路器M31的第2输入端;D触发器D30的CLK端与外部输入时钟信号CLKIN连接,D触发器D30的R端与外部输入使能信号CLKDEN连接;
第i组分频控制单元包括或非门G5i、非门G4i和D触发器D3i;或非门G5i的第1输入端连接D触发器D3i的D端,或非门G5i的第2输入端连接D触发器D3i的Q端,或非门G5i的输出端连接多路器M31的第(2i+1)输入端,非门G4i的输入端连接D触发器D3i的Q端,非门G4i的输出端连接多路器M31的第(2i+2)输入端,D触发器D3i的D端连接D触发器D3(i-1)的Q端,其中1<=i<=n;
每个分频控制单元中D触发器的CLK端与外部输入时钟信号CLKIN连接,每个分频控制单元中D触发器的R端与外部输入使能信号CLKDEN连接;
传输门G61的输入端连接D触发器D30的Q端,传输门G61的输出端连接传输门G62的输入端,传输门G62的输出端作为可配置时钟N分频电路的输出端,用于输出时钟NCLKOUT。
3.根据权利要求2所述的一种适用于SRAM型FPGA的可配置时钟缓冲器,其特征在于:所述时序匹配电路包括D触发器D130、D触发器D131、非门G130、非门G131、非门G132、非门G133、传输门G134和2选1多路器M130;
D触发器D130的CLK端连接外部输入时钟信号CLKIN,D触发器D130的D端连接非门G131的输出端,D触发器D130的Q端同时与非门G131的输入端、非门G133的输入端以及传输门G134的输入端连接,传输门G134的输出端与2选1多路器M130的第一输入端连接,非门G133的输出端与2选1多路器M130的第二输入端连接;
非门G130的输入端连接外部输入时钟信号CLKIN,非门G130的输出端连接D触发器D131的CLK端,D触发器D130的R端以及D触发器D131的R端同时与外部输入使能信号CLKDEN连接;D触发器D131的D端连接非门G132的输出端;D触发器D131的Q端同时与非门G132的输入端以及2选1多路器M130的选择端连接,2选1多路器M130的输出端作为时序匹配电路的输出端,用于输出时钟1CLKOUT。
4.根据权利要求3所述的一种适用于SRAM型FPGA的可配置时钟缓冲器,其特征在于:所述传输门G61、非门G133以及传输门G134尺寸相同,传输门G62与2选1多路器M130内所用传输门的尺寸相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710581051.1A CN107425844B (zh) | 2017-07-17 | 2017-07-17 | 一种适用于sram型fpga的可配置时钟缓冲器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710581051.1A CN107425844B (zh) | 2017-07-17 | 2017-07-17 | 一种适用于sram型fpga的可配置时钟缓冲器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107425844A true CN107425844A (zh) | 2017-12-01 |
CN107425844B CN107425844B (zh) | 2020-09-11 |
Family
ID=60430005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710581051.1A Active CN107425844B (zh) | 2017-07-17 | 2017-07-17 | 一种适用于sram型fpga的可配置时钟缓冲器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107425844B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108847842A (zh) * | 2018-06-05 | 2018-11-20 | 西安微电子技术研究所 | 一种具有自刷新功能的抗单粒子翻转效应异步分频电路 |
CN109036276A (zh) * | 2018-09-25 | 2018-12-18 | 深圳市峰泳科技有限公司 | 一种Micro-OLED微型显示器驱动电路 |
CN112069768A (zh) * | 2020-09-08 | 2020-12-11 | 天津飞腾信息技术有限公司 | 一种针对双端口sram输入输出延时优化的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010124228A (ja) * | 2008-11-19 | 2010-06-03 | Sharp Corp | 分周回路および電子機器 |
CN201663588U (zh) * | 2010-03-17 | 2010-12-01 | 中兴通讯股份有限公司 | 一种实现多相位时钟分数分频的装置 |
CN102208911A (zh) * | 2011-03-02 | 2011-10-05 | 北京航天测控技术有限公司 | 基于fpga片内锁相环的窗口时钟生成和动态配置方法 |
CN104283561A (zh) * | 2014-09-22 | 2015-01-14 | 电子科技大学 | 一种异步时钟并串转换半周期输出电路 |
CN104931778A (zh) * | 2015-06-09 | 2015-09-23 | 浙江大学 | 一种时钟频率检测电路 |
CN105553447A (zh) * | 2014-11-03 | 2016-05-04 | 上海华虹宏力半导体制造有限公司 | 时钟切换电路 |
CN105675981A (zh) * | 2016-03-18 | 2016-06-15 | 中国科学技术大学 | 一种基于fpga的频率计及频率测量方法 |
-
2017
- 2017-07-17 CN CN201710581051.1A patent/CN107425844B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010124228A (ja) * | 2008-11-19 | 2010-06-03 | Sharp Corp | 分周回路および電子機器 |
CN201663588U (zh) * | 2010-03-17 | 2010-12-01 | 中兴通讯股份有限公司 | 一种实现多相位时钟分数分频的装置 |
CN102208911A (zh) * | 2011-03-02 | 2011-10-05 | 北京航天测控技术有限公司 | 基于fpga片内锁相环的窗口时钟生成和动态配置方法 |
CN104283561A (zh) * | 2014-09-22 | 2015-01-14 | 电子科技大学 | 一种异步时钟并串转换半周期输出电路 |
CN105553447A (zh) * | 2014-11-03 | 2016-05-04 | 上海华虹宏力半导体制造有限公司 | 时钟切换电路 |
CN104931778A (zh) * | 2015-06-09 | 2015-09-23 | 浙江大学 | 一种时钟频率检测电路 |
CN105675981A (zh) * | 2016-03-18 | 2016-06-15 | 中国科学技术大学 | 一种基于fpga的频率计及频率测量方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108847842A (zh) * | 2018-06-05 | 2018-11-20 | 西安微电子技术研究所 | 一种具有自刷新功能的抗单粒子翻转效应异步分频电路 |
CN108847842B (zh) * | 2018-06-05 | 2022-02-11 | 西安微电子技术研究所 | 一种具有自刷新功能的抗单粒子翻转效应异步分频电路 |
CN109036276A (zh) * | 2018-09-25 | 2018-12-18 | 深圳市峰泳科技有限公司 | 一种Micro-OLED微型显示器驱动电路 |
CN112069768A (zh) * | 2020-09-08 | 2020-12-11 | 天津飞腾信息技术有限公司 | 一种针对双端口sram输入输出延时优化的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107425844B (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104617957B (zh) | 异步逐次逼近型模数转换器 | |
US7944236B2 (en) | High-bandwidth interconnect network for an integrated circuit | |
CN107425844A (zh) | 一种适用于sram型fpga的可配置时钟缓冲器 | |
US7557605B2 (en) | Heterogeneous configurable integrated circuit | |
CN102497710A (zh) | Led移相调光电路及其方法 | |
CN107210743A (zh) | 串行化发射机 | |
CN106940987A (zh) | 驱动器及其驱动方法 | |
CN103888147B (zh) | 一种串行转并行转换电路和转换器以及转换系统 | |
CN207884599U (zh) | 分频电路 | |
CN107210761A (zh) | 串行化发射机 | |
US8912933B1 (en) | Serializer with multiple stages | |
CN205722740U (zh) | 一种led单双色屏的驱动电路及驱动芯片 | |
CN103853524A (zh) | 一种乘法器装置和实现乘法运算的方法 | |
Pandey et al. | IO standard based energy efficient ALU design and implementation on 28nm FPGA | |
CN106374898B (zh) | 多通道输出选通开关时序产生结构 | |
CN105306022B (zh) | 一种用于异步电路四相位握手协议的非对称延时装置 | |
CN102355235B (zh) | 一种多输入-多时钟维持阻塞型d触发器 | |
CN102761325B (zh) | 一种具有确定输出状态的选择器电路 | |
CN106708467A (zh) | 一种宽位累加器电路及其设计方法、可编程逻辑器件 | |
TW200417148A (en) | Latch-based pulse generator | |
CN209545548U (zh) | 一种信号传输电路 | |
CN201928246U (zh) | 一种移相器相位控制装置 | |
WO2013170460A1 (zh) | 一种led显示屏恒流驱动控制系统及其输出电流控制方法 | |
CN103326697B (zh) | 一种时钟倍频电路 | |
CN205304755U (zh) | 一种用于异步电路四相位握手协议的非对称延时装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |