CN108399281A - 双缓冲数据驱动邻接互连接口电路 - Google Patents
双缓冲数据驱动邻接互连接口电路 Download PDFInfo
- Publication number
- CN108399281A CN108399281A CN201810093398.6A CN201810093398A CN108399281A CN 108399281 A CN108399281 A CN 108399281A CN 201810093398 A CN201810093398 A CN 201810093398A CN 108399281 A CN108399281 A CN 108399281A
- Authority
- CN
- China
- Prior art keywords
- signal
- result
- register
- data
- output signal
- 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
-
- 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)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (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取“反”后的结果进行“与”操作的结果;输入信号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进行“或”操作的结果。
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 true CN108399281A (zh) | 2018-08-14 |
CN108399281B 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 (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0006471A1 (en) * | 1978-06-30 | 1980-01-09 | International Business Machines Corporation | Disk file controller |
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 |
-
2018
- 2018-01-31 CN CN201810093398.6A patent/CN108399281B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0006471A1 (en) * | 1978-06-30 | 1980-01-09 | International Business Machines Corporation | Disk file controller |
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 |
---|
山蕊等: "面向阵列处理器的分布式共享存储结构设计" * |
李宇超等: "高频编码信号采集与存储系统研究" * |
郭佳乐等: "可重构视频阵列处理器簇内存储结构设计与实现" * |
Also Published As
Publication number | Publication date |
---|---|
CN108399281B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107392308A (zh) | 一种基于可编程器件的卷积神经网络加速方法与系统 | |
CN103699360B (zh) | 一种向量处理器及其进行向量数据存取、交互的方法 | |
CN108133270A (zh) | 卷积神经网络加速方法及装置 | |
US20100076915A1 (en) | Field-Programmable Gate Array Based Accelerator System | |
CN107608715A (zh) | 用于执行人工神经网络正向运算的装置及方法 | |
CN107430507A (zh) | 配置成使用改变元素宽度的指令对可变长度向量进行操作的向量处理器 | |
JPH0370064A (ja) | メッシュプロセッサアレー | |
US8200726B2 (en) | Method and structure for producing high performance linear algebra routines using streaming | |
CN207895438U (zh) | 一种fpga与dsp多核异构加速计算板卡 | |
CN110333946A (zh) | 一种基于人工智能cpu数据处理系统及方法 | |
Viet Huynh | FPGA-based acceleration for convolutional neural networks on PYNQ-Z2 | |
CN108399281A (zh) | 双缓冲数据驱动邻接互连接口电路 | |
US20020174158A1 (en) | Adder circuit with a regular structure | |
US20050171990A1 (en) | Floating point intensive reconfigurable computing system for iterative applications | |
CN107729284A (zh) | 一种基于多芯片并行处理的计算卡 | |
CN108037908A (zh) | 一种计算方法及相关产品 | |
Hall | Architecture and automation for efficient convolutional neural network acceleration on field programmable gate arrays | |
CN206639209U (zh) | 一种处理器内核结构 | |
McCaskill et al. | NGEN: A massively parallel reconfigurable computer for biological simulation: Towards a self-organizing computer | |
Zeng | FPGA-based high throughput merge sorter | |
You et al. | RISC-V processor-based automatic access floating-point computing accelerated dataflow co-processor | |
Genoe et al. | On the use of VHDL-based behavioral synthesis for telecom ASIC design | |
CN110321318B (zh) | 多时钟单状态组织型p系统的fpga实现方法 | |
US11741043B2 (en) | Multi-core processing and memory arrangement | |
Koch et al. | FPGA Applications in Education and Research |
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 |