CN108399281B - 双缓冲数据驱动邻接互连接口电路 - Google Patents
双缓冲数据驱动邻接互连接口电路 Download PDFInfo
- Publication number
- CN108399281B CN108399281B CN201810093398.6A CN201810093398A CN108399281B CN 108399281 B CN108399281 B CN 108399281B CN 201810093398 A CN201810093398 A CN 201810093398A CN 108399281 B CN108399281 B CN 108399281B
- Authority
- CN
- China
- Prior art keywords
- signal
- input
- data
- register
- result
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
双缓冲数据驱动邻接互连接口电路主要适用于可重构阵列处理器结构中相邻处理元之间的数据传递,属于集成电路设计技术领域。目的在于通过双缓冲策略一方面实现数据的乒乓存储,另一方面截断数据驱动接口内部过长的组合反馈链,以此提高电路工作频率、降低数据传递延迟。本设计由2个数据寄存器、2个有效信号寄存器、1个有效信号选择器、1个数据选择器、1个输入选择寄存器、1个输出选择寄存器、1个应答信号寄存器和一些辅助电路构成,利用双缓冲数据缓存结构有效截断了数据驱动邻接互连接口电路中过长的组合反馈链,提高电路工作频率的同时实现了相邻处理元间数据的近乎零延迟访问。
Description
技术领域
本发明属于集成电路设计技术领域,尤其涉及到可重构计算结构中相邻处理元之间的数据传递。
背景技术
通用处理器通过软件编程实现算法的计算,具有较高的灵活性。而计算机体系结构从单一处理核向多核、众核体系结构的发展,一定程度上提升了通用处理器的并行性,但是面向日益增长的数据密集型和计算密集型应用,通用处理器表现出明显的性能劣势。专用处理器具有较优的性能,但是一旦设计完成,电路功能确定,不能更改。如果算法发生变化,则需要重新进行电路设计,设计周期长,成本高。难以满足不断革新的新应用发展需求。
可重构计算能够在电路设计完成后,通过重构信息对电路的功能进行改变,以适用不同的应用计算。因此,可重构计算结构兼具通用处理器的灵活性和专用集成电路的高效性,是未来体系结构的发展方向。可重构计算体系结构中数据通信大多采用邻接互连或者短线交叉互连实现。
随着多媒体应用的日趋复杂、数据量的不断飙升,处理元间的数据交互愈加频繁。处理元间的数据交互延迟对整个计算时间产生的影响越来越大。因此,需要研究一种高效的邻接互连实现结构,尽可能降低处理元间的数据交互延迟,以此降低计算时间。
发明内容
本发明涉及到双缓冲数据驱动邻接互连接口电路,目的在于通过双缓冲策略一方面实现数据的乒乓存储,另一方面截断数据驱动接口内部过长的组合反馈链,以此提高电路工作频率、降低数据传递延迟。
本发明实施例是这样实现的,双缓冲数据驱动邻接互连接口电路的功能是接收来自上一级处理单元送来的数据。当内部两个缓冲区至少一个为空时,接收该数据,并向上一级处理单元发送一个应答信号表示该数据已经被正常接收;当内部两个缓冲区全部被占用时,不能接收该数据,则一直等待,直到内部两个缓冲区至少一个为空时,才能接收该数据,并向上一级处理单元发送一个应答信号表示该数据已经被正常接收。两个缓冲区轮流接收来自上一级处理单元的数据,并轮流发送给本级处理单元内部的计算模块。
所述的双缓冲数据驱动邻接互连接口电路,由2个数据寄存器、2个有效信号寄存器、1个有效信号选择器、1个数据选择器、1个输入选择寄存器、1个输出选择寄存器、1个应答信号寄存器和一些辅助电路构成。
其中,1个数据寄存器和1个有效信号寄存器构成一个缓冲区。缓冲区1的数据寄存器输出信号为InDatR1,输入信号D为来自外部输入的数据InDat,输入信号EN来自于输出选择寄存器的输出信号flag_o取“反”后与输入信号ready_i进行“与”操作,并将“与”的结果和有效信号寄存器输出信号为InputVldR1取“反”后的结果进行“或”操作的结果。缓冲区1的有效信号寄存器输出信号为InputVldR1,输入信号D来自于应答信号寄存器的输出信号rdy_r取“反”后与输入数据有效信号Invlid进行“与”操作,并将“与”的结果和输入选择寄存器的输出信号flag_i取“反”后的结果进行“与”操作的结果。输入信号EN来自于输出选择寄存器的输出信号flag_o取“反”后与输入信号ready_i进行“与”操作,并将“与”的结果和有效信号寄存器输出信号为InputVldR1取“反”后的结果进行“或”操作的结果。
缓冲区2的数据寄存器输出信号为InDatR2,输入信号D为来自外部输入的数据InDat,输入信号EN来自于输出选择寄存器的输出信号flag_o与输入信号ready_i进行“与”操作,并将“与”的结果和有效信号寄存器输出信号为InputVldR2取“反”后的结果进行“或”操作的结果。缓冲区2的有效信号寄存器输出信号为InputVldR2,输入信号D来自于应答信号寄存器的输出信号rdy_r取“反”后与输入数据有效信号Invlid进行“与”操作,并将“与”的结果和输入选择寄存器的输出信号flag_i进行“与”操作的结果。输入信号EN来自于输出选择寄存器的输出信号flag_o与输入信号ready_i进行“与”操作,并将“与”的结果和有效信号寄存器输出信号为InputVldR2取“反”后的结果进行“或”操作的结果。
有效信号选择器为一个二选一电路,输入信号分别为:InputVldR1和InputVldR2,输出信号为OutVlid,当flag_o为“0”时选择InputVldR1输出,当flag_o为“1”时选择InputVldR2输出。
数据选择器为一个二选一电路,输入信号分别为:InDatR1和InDatR2,输出信号为OutDat,当flag_o为“0”时选择InDatR1输出,当flag_o为“1”时选择InDatR2输出。
输入选择寄存器的输出信号为flag_i,将输出信号ready_o直接接到输入信号EN端,输入信号D为输出信号flag_i取“反”后的结果。
输出选择寄存器的输出信号为flag_o,将输入信号ready_i直接接到输入信号EN端,输入信号D为输出信号flag_o取“反”后的结果。
应答信号寄存器的输出信号为rdy_r,输入信号D为InputVldR1、InputVldR2、ready_i、和rdy_r取“反”rdy_r后与输入信号InVlid进行“与”操作的结果进行“与”操作的结果。
输出信号ready_o是InputVldR1取“反”后的结果和InputVldR2取“反”后的结果进行“或”操作,并将“或”的结果与输入信号InVlid进行“与”操作,将“与”的结果与rdy_r进行“或”操作的结果。
以下表格说明以上提及字母的意义;
本发明的特点是采用双缓冲数据缓存结构有效的截断了数据驱动邻接互连接口电路中过长的组合反馈链,提高电路工作频率的同时实现了相邻处理元间数据的近乎零延迟访问。
附图说明
图1双缓冲数据驱动邻接互连接口电路图
具体实施方式
下面结合附图具体介绍本发明所采用的技术方案和工作原理。传统的硬件电路设计通常采用电路图方式来详细描述电路的设计结构。用电路图方式描述硬件电路的结构是硬件设计的第二代设计工具,随着科学技术的迅猛发展,硬件描述语言(HDL)已经成为第三代硬件设计工具。所以该电路采用verilog硬件描述语言加以实施。
1.电路端口说明
本发明适用于可重构阵列处理器中相邻处理元间的数据传递,下表对电路的接口信息进行了详细的说明。
2.电路的Verilog语言描述
电路的Verilog语言描述的核心代码如下:
3.电路应用效果
本发明已经在“面向数据流应用可重构阵列处理器结构研究”项目中加以采用,经过了FPGA开发的实际测试,测试结果表明该设计电路的功能完全正确,各项功能及性能指标均符合要求,实现了发明的目的。
Claims (1)
1.双缓冲数据驱动邻接互连接口电路,其特征在于:包括2个数据寄存器、2个有效信号寄存器、1个有效信号选择器、1个数据选择器、1个输入选择寄存器、1个输出选择寄存器和1个应答信号寄存器;
1个数据寄存器和1个有效信号寄存器构成一个缓冲区,其中缓冲区1的数据寄存器输出信号为InDatR1,输入信号D为来自外部输入的数据InDat,输入信号EN来自于输出选择寄存器的输出信号flag_o取“反”后与输入信号ready_i进行“与”操作,并将“与”的结果和有效信号寄存器输出信号为InputVldR1取“反”后的结果进行“或”操作的结果;缓冲区1的有效信号寄存器输出信号为InputVldR1,输入信号D来自于应答信号寄存器的输出信号rdy_r取“反”后与输入数据有效信号Invlid进行“与”操作,并将“与”的结果和输入选择寄存器的输出信号flag_i取“反”后的结果进行“与”操作的结果;缓冲区2的数据寄存器输出信号为InDatR2,输入信号D为来自外部输入的数据InDat,输入信号EN来自于输出选择寄存器的输出信号flag_o与输入信号ready_i进行“与”操作,并将“与”的结果和有效信号寄存器输出信号为InputVldR2取“反”后的结果进行“或”操作的结果;缓冲区2的有效信号寄存器输出信号为InputVldR2,输入信号D来自于应答信号寄存器的输出信号rdy_r取“反”后与输入数据有效信号Invlid进行“与”操作,并将“与”的结果和输入选择寄存器的输出信号flag_i进行“与”操作的结果;
有效信号选择器为一个二选一电路,输入信号分别为:InputVldR1和InputVldR2,输出信号为OutVlid,当flag_o为“0”时选择InputVldR1输出,当flag_o为“1”时选择InputVldR2输出;
数据选择器为一个二选一电路,输入信号分别为:InDatR1和InDatR2,输出信号为OutDat,当flag_o为“0”时选择InDatR1输出,当flag_o为“1”时选择InDatR2输出;
输入选择寄存器的输出信号为flag_i,将输出信号ready_o直接接到输入信号EN端,输入信号D为输出信号flag_i取“反”后的结果;
输出选择寄存器的输出信号为flag_o,将输入信号ready_i直接接到输入信号EN端,输入信号D为输出信号flag_o取“反”后的结果;
应答信号寄存器的输出信号为rdy_r,输入信号D为InputVldR1、InputVldR2、ready_i、和rdy_r取“反”rdy_r后与输入信号InVlid进行“与”操作的结果进行“与”操作的结果;
输出信号ready_o是InputVldR1取“反”后的结果和InputVldR2取“反”后的结果进行“或”操作,并将“或”的结果与输入信号InVlid进行“与”操作,将“与”的结果与rdy_r进行“或”操作的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810093398.6A CN108399281B (zh) | 2018-01-31 | 2018-01-31 | 双缓冲数据驱动邻接互连接口电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810093398.6A CN108399281B (zh) | 2018-01-31 | 2018-01-31 | 双缓冲数据驱动邻接互连接口电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108399281A CN108399281A (zh) | 2018-08-14 |
CN108399281B true CN108399281B (zh) | 2023-05-12 |
Family
ID=63095819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810093398.6A Active CN108399281B (zh) | 2018-01-31 | 2018-01-31 | 双缓冲数据驱动邻接互连接口电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108399281B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2869994Y (zh) * | 2005-12-02 | 2007-02-14 | 浙江大学 | 用于可重构计算阵列的数据耦合器 |
CN104391563A (zh) * | 2014-10-23 | 2015-03-04 | 中国科学院声学研究所 | 一种寄存器堆的循环缓冲电路及其方法,处理器装置 |
US9660650B1 (en) * | 2014-03-13 | 2017-05-23 | Altera Corporation | Integrated circuits with improved register circuitry |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4218742A (en) * | 1978-06-30 | 1980-08-19 | International Business Machines Corporation | System for controlling a serial data channel with a microprocessor |
-
2018
- 2018-01-31 CN CN201810093398.6A patent/CN108399281B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2869994Y (zh) * | 2005-12-02 | 2007-02-14 | 浙江大学 | 用于可重构计算阵列的数据耦合器 |
US9660650B1 (en) * | 2014-03-13 | 2017-05-23 | Altera Corporation | Integrated circuits with improved register circuitry |
CN104391563A (zh) * | 2014-10-23 | 2015-03-04 | 中国科学院声学研究所 | 一种寄存器堆的循环缓冲电路及其方法,处理器装置 |
Non-Patent Citations (3)
Title |
---|
山蕊等.面向阵列处理器的分布式共享存储结构设计.《北京邮电大学学报》.2017,第40卷(第04期),全文. * |
李宇超等.高频编码信号采集与存储系统研究.《电子器件》.2016,第39卷(第06期),全文. * |
郭佳乐等.可重构视频阵列处理器簇内存储结构设计与实现.《微电子学与计算机》.2017,第34卷(第09期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN108399281A (zh) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10564980B2 (en) | Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator | |
US10380063B2 (en) | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator | |
US11307873B2 (en) | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging | |
US10565134B2 (en) | Apparatus, methods, and systems for multicast in a configurable spatial accelerator | |
CN109828744B (zh) | 一种基于fpga的可配置浮点向量乘法ip核 | |
EP3726389B1 (en) | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator | |
US10459866B1 (en) | Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator | |
US11029958B1 (en) | Apparatuses, methods, and systems for configurable operand size operations in an operation configurable spatial accelerator | |
WO2020005448A1 (en) | Apparatuses, methods, and systems for unstructured data flow in a configurable spatial accelerator | |
EP3776229A1 (en) | Apparatuses, methods, and systems for remote memory access in a configurable spatial accelerator | |
US10678724B1 (en) | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator | |
US11037050B2 (en) | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator | |
EP3757814A1 (en) | Apparatuses, methods, and systems for time-multiplexing in a configurable spatial accelerator | |
WO2020215124A1 (en) | An improved hardware primitive for implementations of deep neural networks | |
Olivieri | Design of synchronous and asynchronous variable-latency pipelined multipliers | |
US11907713B2 (en) | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator | |
CN109472734B (zh) | 一种基于fpga的目标检测网络及其实现方法 | |
CN1690951A (zh) | 优化的处理器和指令对准 | |
CN108399281B (zh) | 双缓冲数据驱动邻接互连接口电路 | |
Rettkowski et al. | Application-specific processing using high-level synthesis for networks-on-chip | |
Beohar et al. | VHDL implementation of self-timed 32-bit floating point multiplier with carry look ahead adder | |
VANI et al. | Improving FPGA Performance for Carry-Save Arithmetic using Multi Operand Redundant Adders | |
US10534608B2 (en) | Local computation logic embedded in a register file to accelerate programs | |
Chang | Digit-serial pipeline sorter architecture | |
Samanth et al. | Design and Implementation of 32-bit Functional Unit for RISC architecture applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |