CN103559161B - 一种用于fpga配置的总线多宽度转换电路 - Google Patents
一种用于fpga配置的总线多宽度转换电路 Download PDFInfo
- Publication number
- CN103559161B CN103559161B CN201310439306.2A CN201310439306A CN103559161B CN 103559161 B CN103559161 B CN 103559161B CN 201310439306 A CN201310439306 A CN 201310439306A CN 103559161 B CN103559161 B CN 103559161B
- Authority
- CN
- China
- Prior art keywords
- type flip
- signal
- group
- alternative
- flip flop
- 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.)
- Active
Links
Landscapes
- Logic Circuits (AREA)
Abstract
一种用于FPGA配置的总线多宽度转换电路,可以完成FPGA一位、二位、四位和八位宽度配置输入的总线宽度转换。该电路包括两个模块,一个是总线位宽转换模块;另一个模块是总线位宽转换模块的控制模块。一位、二位、四位或八位的配置数据通过四输入多路器组的选择,写入到8位的第一寄存器组,第一寄存器组写满后再移入8位的第二寄存器组,最后输出到八位配置总线上进行FPGA的配置。控制模块根据输入信号的宽度,使总线位宽转换模块把一位、二位、四位或八位位宽输入转换为八位位宽输入。通过该电路FPGA可以使用一位、二位、四位或八位的端口进行配置,增大了FPGA配置端口的灵活性。
Description
技术领域
本发明涉及一种总线数据宽度转换电路。
背景技术
随着FPGA的发展,其规模不断增大,内部配置位越来越多,导致配置码流不断增大,且有些应用需要很高的配置速度,这就要求FPGA尽量采用并行配置。同时FPGA应用越来越复杂,许多应用要求FPGA提供大量的用户IO,这就限制了FPGA的系统功能IO的数量。FPGA配置规模的增大,配置速度提高的要求,IO数量的限制,对FPGA配置输入的位宽的灵活性提出了更高的要求。
针对上述情况,当前采取的处理方式主要有两种,一种是降低系统的实时性,另一种是采用多个器件的方式。其中,第一种方式限制了系统的可用性,第二种方式增加了系统资源的消耗。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供了一种可以使FPGA进行一位、二位、四位和八位宽度数据配置的总线多宽度转换电路。
本发明的技术解决方案是:一种用于FPGA配置的总线多宽度转换电路,包括模式控制模块,四选一多路选择器组,第一级二选一多路选择器组,第一D触发器组,第二级二选一多路选择器组,第二D触发器组,其中:
模式控制模块:包括2-4译码器、3位二进制计数器、可控译码器、FULL_FLAG信号产生电路;其中2-4译码器将外部由MOD0和MOD1两个二进制位共同标识的输入数据宽度转换为由M1、M2、M3、M4四个二进制位共同标识的输入数据宽度,所述的输入数据宽度为一位、二位、四位或者八位;3位二进制计数器对外部输入的时钟信号CK进行计数,每记录8个时钟周期即清零并重新开始计数,每个计数值用三个二进制位A1、A2、A3共同标识;可控译码器根据M1、M2、M3、M4、A1、A2、A3共7个二进制位的取值,产生八路信号OE<k>,k=0,1,2,3,4,5,6,7;FULL_FLAG信号产生电路将信号OE<7>延迟一个时钟周期后作为FULL_FLAG信号;所述的M1、M2、M3、M4四个二进制位送至四选一多路选择器组,所述的信号OE<k>送至第一级二选一多路选择器组,所述的FULL_FLAG信号送至第二级二选一多路选择器组;
四选一多路选择器组:包括八个四选一选择器,每一个四选一选择器的四个数据输入端分别对应一位、二位、四位和八位外部输入数据,外部输入数据按照从低位到高位的方式循环排列;每一个四选一选择器的选择控制端受M1、M2、M3、M4四个二进制位控制,第k个四选一选择器的输出信号为MUX0_OUT<k>;当外部输入数据宽度为一位时,MUX0_OUT<k>相同并为此一位数据;当外部输入数据宽度为两位时,k为偶数的MUX0_OUT<k>输出第一位数据,k为奇数的MUX0_OUT<k>输出第二位数据;当外部输入数据宽度为四位时,k=0,1,2,3及4,5,6,7的MUX0_OUT<k>分别输出四位数据中的一位数据;当外部输入数据宽度为八位时,MUX0_OUT<k>分别对应输出八位数据中的一位数据;
第一级二选一多路选择器组:包括八个二选一选择器,每一个二选一选择器对应一个四选一选择器和唯一的OE<k>信号,每一个二选一选择器的输出信号为MUX1_OUT<k>,每一个二选一选择器的第一信号输入端对应一个MUX0_OUT<k>信号,在OE<k>信号的控制下,当外部输入数据宽度为一位时,MUX1_OUT<k>分别为连续八个时钟周期的该一位数据的对应值;当外部输入数据宽度为两位时,MUX1_OUT<k>按照序号依次分成四组分别为连续四个时钟周期的该两位数据的对应值;当外部输入数据宽度为四位时,MUX1_OUT<k>按照序号依次分成两组分别为连续两个时钟周期的该四位数据的对应值;当外部输入数据宽度为八位时,MUX1_OUT<k>分别为同一个时钟周期的该八位数据各位的对应值;
第一D触发器组:包括八个D触发器,每一个D触发器对应接收第一级二选一多路选择器组输出的一路MUX1_OUT<k>,每一个D触发器的输出同时送给第二级二选一多路选择器组以及其对应的第一级二选一多路选择器组中的一个二选一多路选择器的第二信号输入端;
第二级二选一多路选择器组:包括八个二选一选择器,每一个二选一选择器的第一信号输入端对应第一D触发器组中一个D触发器的输出信号,每一个二选一选择器均受FULL_FLAG信号控制,将D触发器的输出信号送至第二D触发器组;
第二D触发器组:包括八个D触发器,每一个D触发器对应接收第二级二选一多路选择器组中的一个二选一选择器输出的信号,每一个D触发器的输出进行组合作为总线多宽度转换电路的八位输出D0~D7,同时每一个D触发器的输出同时送给第二级二选一多路选择器组中对应的一个二选一多路选择器的第二信号输入端。
本发明与现有技术相比的优点在于:
(1)本发明采用两个二进制位标识输入数据宽度,即输入数据宽度是可选择的,它包括一位、二位、四位和八位四种配置数据宽度,使得采用本发明的FPGA可以使用一位、二位、四位和八位四种配置数据宽度进行配置,可以在配置时在配置速度和使用的IO数量中具有灵活的选择,增大了FPGA配置的通用性;
(2)本发明采用多路选择器组、触发器组实现数据通路,数据传输延时小,有利于提高系统性能,其电路规则,便于后期的版图布局、设计实现;
(3)本发明采用可控译码器实现外部输入信号输入控制,一个模块实现了四种宽度情况下的信号控制,使用的资源少,占用的面积小。
附图说明
图1为本发明用于FPGA配置的总线多宽度转换电路原理图;
图2为图1所示电路中的模式控制模块电路原理图;
图3为图2所示电路中的可控译码器电路原理图。
具体实施方式
本发明提供的用于FPGA配置的总线多宽度转换电路如图1所示,其中包括:模式控制模块101,四选一多路选择器组102(配置数据输入),第一级二选一多路选择器组103(保持或数据写入),第一D触发器组104(配置数据寄存),第二级二选一多路选择器组105(保持或移位数据写入),第二D触发器组106(配置数据寄存)。
根据FPGA配置将要使用的总线宽度(一位、二位、四位或八位),选择两位的模式控制位(MOD0和MOD1)的值,模式控制模块101对MOD0和MOD1进行解码得到四选一多路选择器组102所需要的四个控制端M1、M2、M3和M4的值。M1、M2、M3和M4的真值表如表1所示。
表1M1、M2、M3和M4的真值表
四选一多路选择器组102由八个四选一选择器组成,每个四选一选择器有四个数据输入端,由控制模块101的四个输出M1、M2、M3和M4控制。四选一多路选择器组102的输出MUX0_OUT<7:0>如表2所示。其中的DIN表示转换前数据的第几位,如DIN0表示第0位(最低位),DIN7表示第7位(最高位)。
表2四选一多路选择器组的输出
第一级二选一多路选择器组103由八个二选一选择器组成,其输入是四选一多路选择器组102的输出MUX0_OUT<7:0>,由模式控制模块101的输出OE<7:0>控制其输出。第一级二选一多路选择器组103的输出如表3所示,其中DIN表示转换前的数据的某个周期中第几位,如DIN2<2n+1>表示四位宽度数据输入时的第2n+1周期中的第2位(第0位为最低位)。
表3第一级二选一多路选择器组的输出
第一级二选一多路选择器组103的输出MUX1_OUT<7:0>,写入到第一D触发器104组(八个D触发器组成)中,当第一D触发器组104写满后,模式控制模块101的输出FULL_FLAG变为高,第一D触发器组104寄存的值通过第二级二选一多路选择器组105整体写入第二D触发器组106(八个D触发器组成)。通过第二D触发器组106把配置数据传输到八位配置总线上。
图1所使用的模式控制模块101的具体电路结构如图2所示,它包括:2-4译码器201,3位二进制计数器202,可控译码器203,FULL_FLAG信号产生电路204。
2-4译码器201对模式控制位的值进行译码产生四个控制信号:M1、M2、M3和M4,分别对应一位、二位、四位和八位宽度配置模式,它的真值表如上表1所示。
3位二进制计数器202对时钟CK输入进行计数,产生输出A1、A2和A3,它的真值表如下表4所示。
表43位二进制计数器真值表
A1、A2和A3进入到可控译码器203中,通过M1、M2、M3和M4的控制产生OE<7:0>这组控制信号。FPGA配置将要使用的总线宽度为一位时,M1=1,M2、M3和M4都为零,此时可控译码器203的真值表如表5所示。FPGA配置使用的总线宽度分别为二位、四位和八位时,可控译码器203的真值表分别为表6,表7和表8所示。
表5总线宽度为一位时的可控译码器真值表
表6总线宽度为二位时的可控译码器真值表
表7总线宽度为四位时的可控译码器真值表
表8总线宽度为八位时的可控译码器真值表
FULL_FLAG信号产生电路204通过一个触发器把OE<7>延迟一个周期作为FULL_FLAG信号。
图2所使用的可控译码器203的具体电路结构如图3所示,其中包括:内部控制信号产生单元301,反相信号产生单元302,译码器303。内部控制信号产生单元301由一个三输入或非门、一个二输入或非门和一个反相器组成,其产生一位、二位、四位和八位情况下的控制信号O2、O3和O4,其真值表如表9所示。
表9内部控制信号产生301的真值表
反相信号产生单元302由三个反相器组成,其产生A1、A2和A3的反信号A1N、A2N和A3N。
译码器303由八个子单元组成,每个子单元包括三个二输入与非门3031、3032、3033和一个三输入非门3034组成。O2、O3和O4分别作为三个二输入与非门3031、3032、3033的一个输入。当FPGA采用一位总线进行配置时,O2、O3和O4的值都为1,译码器303对A1、A2和A3及反信号A1N、A2N和A3N进行译码,其真值表如上表5。当FPGA采用二位总线进行配置时,O2的值为0,O3和O4的值为1。O2的值屏蔽了A1和A1N,译码器303对A2和A3及反信号A2N和A3N进行译码,其真值表如上表6。当FPGA采用四位总线进行配置时,O2和O3的值为0,O4的值为1。O2和O3的值屏蔽了A1、A2和反信号A1N、A2N,译码器303对A3及反信号A3N进行译码,其真值表如上表7。当FPGA采用八位总线进行配置时,O2、O3和O4的值都为0,译码器303的输出全为1,其真值表如上表8所示。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
Claims (1)
1.一种用于FPGA配置的总线多宽度转换电路,其特征在于:包括模式控制模块(101),四选一多路选择器组(102),第一级二选一多路选择器组(103),第一D触发器组(104),第二级二选一多路选择器组(105),第二D触发器组(106),其中:
模式控制模块(101):包括2-4译码器(201)、3位二进制计数器(202)、可控译码器(203)、FULL_FLAG信号产生电路(204);其中2-4译码器(201)将外部由MOD0和MOD1两个二进制位共同标识的输入数据宽度转换为由M1、M2、M3、M4四个二进制位共同标识的输入数据宽度,所述的输入数据宽度为一位、二位、四位或者八位;3位二进制计数器(202)对外部输入的时钟信号CK进行计数,每记录8个时钟周期即清零并重新开始计数,每个计数值用三个二进制位A1、A2、A3共同标识;可控译码器(203)根据M1、M2、M3、M4、A1、A2、A3共7个二进制位的取值,产生八路信号OE<k>,k=0,1,2,3,4,5,6,7;FULL_FLAG信号产生电路(204)将信号OE<7>延迟一个时钟周期后作为FULL_FLAG信号;所述的M1、M2、M3、M4四个二进制位送至四选一多路选择器组(102),所述的信号OE<k>送至第一级二选一多路选择器组(103),所述的FULL_FLAG信号送至第二级二选一多路选择器组(105);
四选一多路选择器组(102):包括八个四选一选择器,每一个四选一选择器的四个数据输入端分别对应一位、二位、四位和八位外部输入数据,外部输入数据按照从低位到高位的方式循环排列;每一个四选一选择器的选择控制端受M1、M2、M3、M4四个二进制位控制,第k个四选一选择器的输出信号为MUX0_OUT<k>;当外部输入数据宽度为一位时,MUX0_OUT<k>相同并为此一位数据;当外部输入数据宽度为两位时,k为偶数的MUX0_OUT<k>输出第一位数据,k为奇数的MUX0_OUT<k>输出第二位数据;当外部输入数据宽度为四位时,k=0,1,2,3及4,5,6,7的MUX0_OUT<k>分别输出四位数据中的一位数据;当外部输入数据宽度为八位时,MUX0_OUT<k>分别对应输出八位数据中的一位数据;
第一级二选一多路选择器组(103):包括八个二选一选择器,每一个二选一选择器对应一个四选一选择器和唯一的OE<k>信号,每一个二选一选择器的输出信号为MUX1_OUT<k>,每一个二选一选择器的第一信号输入端对应一个MUX0_OUT<k>信号,在OE<k>信号的控制下,当外部输入数据宽度为一位时,MUX1_OUT<k>分别为连续八个时钟周期的该一位数据的对应值;当外部输入数据宽度为两位时,MUX1_OUT<k>按照序号依次分成四组分别为连续四个时钟周期的该两位数据的对应值;当外部输入数据宽度为四位时,MUX1_OUT<k>按照序号依次分成两组分别为连续两个时钟周期的该四位数据的对应值;当外部输入数据宽度为八位时,MUX1_OUT<k>分别为同一个时钟周期的该八位数据各位的对应值;
第一D触发器组(104):包括八个D触发器,每一个D触发器对应接收第一级二选一多路选择器组(103)输出的一路MUX1_OUT<k>,每一个D触发器的输出同时送给第二级二选一多路选择器组(105)以及其对应的第一级二选一多路选择器组(103)中的一个二选一多路选择器的第二信号输入端;
第二级二选一多路选择器组(105):包括八个二选一选择器,每一个二选一选择器的第一信号输入端对应第一D触发器组(104)中一个D触发器的输出信号,每一个二选一选择器均受FULL_FLAG信号控制,将D触发器的输出信号送至第二D触发器组(106);
第二D触发器组(106):包括八个D触发器,每一个D触发器对应接收第二级二选一多路选择器组(105)中的一个二选一选择器输出的信号,每一个D触发器的输出进行组合作为总线多宽度转换电路的八位输出D0~D7,同时每一个D触发器的输出同时送给第二级二选一多路选择器组(105)中对应的一个二选一多路选择器的第二信号输入端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310439306.2A CN103559161B (zh) | 2013-09-24 | 2013-09-24 | 一种用于fpga配置的总线多宽度转换电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310439306.2A CN103559161B (zh) | 2013-09-24 | 2013-09-24 | 一种用于fpga配置的总线多宽度转换电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103559161A CN103559161A (zh) | 2014-02-05 |
CN103559161B true CN103559161B (zh) | 2016-02-10 |
Family
ID=50013411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310439306.2A Active CN103559161B (zh) | 2013-09-24 | 2013-09-24 | 一种用于fpga配置的总线多宽度转换电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103559161B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9690741B2 (en) * | 2013-07-15 | 2017-06-27 | Altera Corporation | Configuration via high speed serial link |
CN104202034B (zh) * | 2014-08-13 | 2017-11-03 | 深圳市亚泰光电技术有限公司 | 一种可循环的多通道选择电路系统 |
US20200264873A1 (en) * | 2019-02-20 | 2020-08-20 | Nanjing Iluvatar CoreX Technology Co., Ltd. (DBA ? Iluvatar CoreX Inc. Nanjing?) | Scalar unit with high performance in crypto operation |
CN110473589B (zh) * | 2019-07-19 | 2021-07-20 | 苏州浪潮智能科技有限公司 | 一种多功能存储器芯片测试系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0690579A2 (en) * | 1994-06-30 | 1996-01-03 | Texas Instruments Incorporated | Field programmable gate arrays |
JP2000077998A (ja) * | 1998-08-27 | 2000-03-14 | Nippon Telegr & Teleph Corp <Ntt> | 信号検出装置 |
CN1509024A (zh) * | 2002-12-20 | 2004-06-30 | 华为技术有限公司 | 一种实现SPI4 PhaseⅡ总线支持多路物理设备的装置 |
CN101159413A (zh) * | 2006-06-19 | 2008-04-09 | 国际整流器公司 | 具有频率和相位定时控制的多相转换器 |
CN101997539A (zh) * | 2010-11-22 | 2011-03-30 | 北京时代民芯科技有限公司 | 一种可编程逻辑电路 |
WO2012065867A1 (en) * | 2010-11-15 | 2012-05-24 | Bangor University | Adaptive bit or power loading in optical orthogonal frequency division multiplexing transceivers |
CN102981801A (zh) * | 2012-11-07 | 2013-03-20 | 迈普通信技术股份有限公司 | 一种本地总线数据位宽的转换方法及装置 |
-
2013
- 2013-09-24 CN CN201310439306.2A patent/CN103559161B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0690579A2 (en) * | 1994-06-30 | 1996-01-03 | Texas Instruments Incorporated | Field programmable gate arrays |
JP2000077998A (ja) * | 1998-08-27 | 2000-03-14 | Nippon Telegr & Teleph Corp <Ntt> | 信号検出装置 |
CN1509024A (zh) * | 2002-12-20 | 2004-06-30 | 华为技术有限公司 | 一种实现SPI4 PhaseⅡ总线支持多路物理设备的装置 |
CN101159413A (zh) * | 2006-06-19 | 2008-04-09 | 国际整流器公司 | 具有频率和相位定时控制的多相转换器 |
WO2012065867A1 (en) * | 2010-11-15 | 2012-05-24 | Bangor University | Adaptive bit or power loading in optical orthogonal frequency division multiplexing transceivers |
CN101997539A (zh) * | 2010-11-22 | 2011-03-30 | 北京时代民芯科技有限公司 | 一种可编程逻辑电路 |
CN102981801A (zh) * | 2012-11-07 | 2013-03-20 | 迈普通信技术股份有限公司 | 一种本地总线数据位宽的转换方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103559161A (zh) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103559161B (zh) | 一种用于fpga配置的总线多宽度转换电路 | |
CN105553447B (zh) | 时钟切换电路 | |
CN103117732B (zh) | 多路视频脉冲信号发生装置及方法 | |
CN104536755A (zh) | 可编程逻辑器件重构方法及装置 | |
CN204615806U (zh) | 一种基于反相逻辑的三模冗余表决电路 | |
CN103281082A (zh) | 一种基于忆阻器件的模数转换电路 | |
CN102541799A (zh) | 一种利用fpga实现多串口扩展的方法 | |
CN105262462B (zh) | 一种用于集成电路的数字延时实现方法及电路 | |
CN109891843A (zh) | 用于可编程逻辑器件的时钟恢复和数据恢复 | |
CN103676742A (zh) | 一种基于fpga的数据重组方法 | |
CN104967442B (zh) | 基于可逆逻辑的8421bcd码同步十进制加/减法计数器 | |
CN201018471Y (zh) | 锁相环路全频多模分频器 | |
CN102788601B (zh) | 一种准绝对式光学编码器的细分及解码的电路及实现方法 | |
CN105591645B (zh) | 一种多级串并转换电路 | |
CN102799410A (zh) | 基于李氏制约竞争计数编码的异步fifo地址转换电路 | |
CN103684423A (zh) | 可变的同步时钟分频电路 | |
CN104579352A (zh) | 基于fpga的温度计码到二进制码的编码转换装置和方法 | |
CN102789190B (zh) | 适用于不同类型fpga电路编程的列地址分配器电路 | |
CN105874713B (zh) | 一种可扩展可配置的逻辑元件和fpga器件 | |
CN102497198A (zh) | 一种格雷码双边沿触发计数器 | |
CN103546169A (zh) | Fpga中实现3/4速率(2,1,7)卷积编码的方法 | |
CN103795402B (zh) | 同步分频电路 | |
CN104252560A (zh) | 基于现场可编程门阵列的集中缓存式装置及设计方法 | |
CN206400612U (zh) | 一种多路模拟量数字化采样电路 | |
CN103684473A (zh) | 基于fpga的高速串并转换电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |