CN102722460B - 高层次综合中的非平衡多路器及其构建方法 - Google Patents
高层次综合中的非平衡多路器及其构建方法 Download PDFInfo
- Publication number
- CN102722460B CN102722460B CN201210131758.XA CN201210131758A CN102722460B CN 102722460 B CN102722460 B CN 102722460B CN 201210131758 A CN201210131758 A CN 201210131758A CN 102722460 B CN102722460 B CN 102722460B
- Authority
- CN
- China
- Prior art keywords
- priority
- multiplexer
- nonequilibrium
- functional unit
- port multiplier
- 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.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种构建非平衡多路器的方法,包括以下步骤:读取数字电路行为描述,获取程序总体运行信息;生成各子模块访问多路器操作频率的列表;将各子模块按照其操作频率排序,其优先级按照频率由高到低一次排序;根据优先级构建非平衡多路器树,使优先级高的经过多路器的延时小。本发明还提供了一种与上述方法相对应的非平衡多路器。通过本发明可以在高层次综合过程中优化资源配置,提高硬件性能。
Description
技术领域
本发明涉及在高层次综合中的资源配置方式,具体涉及一种非平衡多路器及其构建方法。
背景技术
在高层次综合的研究中,生成的数字电路系统包含功能子模块和存储单元,各个子模块之间以及子模块与存储单元之间常常会发生数据的交流,高层次综合在配置资源的过程中会生成多路器来控制或者选通各个子模块和相应的模块或存储单元来进行数据的传递。在传统的高层次综合系统中各个子模块间是通过多路选通器实现其互连和选通,在系统的自动综合过程中一定输入的多路选通器是构成复杂多路器的基本单元,对于输入路数大于一定值输入的多路选通器都是由这种基本单元互连组成如图3所示,因此在这样的系统中多路选通器的每一路输入到输出延时是一个固定值。在系统运行时,各个子模块之间或者子模块与存储单元间访问多路器的操作频率是不一样的,系统的总延时是各个多路器每一路延时乘上总的访问频率,访问频率越高的操作则使得系统的总延时越大。因此在现有高层次综合技术中传统多路器的存在使得系统的速度难以得到提高。
发明内容
为了解决上述现有技术中所存在的技术问题,本发明的首要目的在于提供一种自动构建非平衡多路器的方法,同时提供一种比普通多路器性能更高、延时更小、配置更灵活的非平衡多路器树。
本发明解决其技术问题所采用的技术方案是:
一种非平衡多路器的构建方法,其特征在于包括以下步骤:
a)、获取数字电路行为描述,进而获得高层次信息及程序总体运行信息;
b)、从步骤a所收集到的信息中提取各子模块访问多路器操作的频率,生成访问多路器操作频率的列表;
c)、根据步骤b中得出的各个子模块访问多路器的操作频率的列表,计算各子模块权重,并将其按照权重设置优先级;
d)、根据步骤c得出的不同的优先级给多路器树分配资源,将优先级高的子模块连接在多路器树路径短的那一支,将优先级低的子模块连接在多路器路径长的那一支;
e)、重新计算连接在非平衡多路器树上各个子模块的权重,再按照步骤c和步骤d反复迭代直到最后获得稳定的最优解。
作为上述技术方案的进一步改进,在步骤c中,首先算出高层次综合工具在调度前各个子模块所具有的调度区间值,将调度区间和步骤b中获得的操作频率相乘则得到各个子模块的权重,再将权重分为若干优先级,优先级的数目视具体的程序而定。
作为上述技术方案的进一步改进,在步骤d中,首先判断各个模块的优先级,相同优先级的子模块在多路器树中所占据的路径长度相等,再根据输入端口数和优先级的级数来插入多路器树,将优先级最高的子模块接在多路器树中路径最短的那支上,将优先级最低的子模块接在多路器树中路径最长的那支上,其他优先级的子模块则根据输入端口数的大小选择能够覆盖完所有端口的最少多路器的组合来实现。
一种非平衡多路器树,由所述的非平衡多路器树的构建方法构建而成,其特征在于:所述的非平衡多路器树的输入和输出的路径长度不等长,每一路上的寄存器个数不同,每一路延时的周期不同。该非平衡多路器树在不改变输入端口数目的情况下,能够做到每一条输入到输出的路径长度不同,在数字系统中多路器的输出都会连一个寄存器来存取数据以消除因数据延时产生的传输错误,不同的路径长度意味着每一路的寄存器个数不同,既每一路延时的周期不同。在高层次综合时将最短的路径分配给访问多路器操作最频繁的子模块,将最长路径分配给访问多路器操作最少的子模块,这样就可以根据程序的特点合理的控制输入到输出的延时,减小系统总体的运行时间,加快系统运行速度。
本发明的有益效果是:这种非平衡多路器的构建方法能够自动获取运行程序的信息并进行访问多路器的操作分析,根据分析的结果将规则生成的多路选通器树根据需要变成非平衡的多路选通器树,使得访问多路选通器操作频率最高的路径延时最小,从而大大降低了系统总的延时,提高了系统的运行速度。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的原理框图;
图2是非平衡多路器树的结构示意图;
图3是传统平衡多路选通器树的结构示意图。
具体实施方式
下面结合附图对本发明作进一步地详细说明,但本发明的实施方式不限于此。
如图1所示,本发明提供的一种非平衡多路器构建方法,其实施过程包括以下步骤:
a)、获取数字电路行为描述,进而获得高层次信息及程序总体运行信息;
b)、从步骤a所收集到的信息中提取各子模块访问多路器操作的频率,生成访问多路器操作频率的列表;
c)、根据步骤b中得出的各个子模块访问多路器的操作频率的列表,计算各子模块权重,并将其按照权重设置优先级;
d)、根据步骤c得出的不同的优先级给多路器树分配资源,将优先级高的子模块连接在多路器树路径短的那一支,将优先级低的子模块连接在多路器路径长的那一支;
e)、重新计算连接在非平衡多路器树上各个子模块的权重,再按照步骤c和步骤d反复迭代直到最后获得稳定的最优解。
上述构建方法中,执行步骤c的具体方法为:首先高层次综合工具在调度前会算出各个子模块所具有的调度区间值,将调度区间和步骤b中获得的操作频率相乘则得到各个子模块的权重,再将权重分为若干优先级,优先级的数目视具体的程序而定。
执行步骤d的具体方法为:首先判断各个模块的优先级,相同优先级的子模块在多路器树中所占据的路径长度相等,再根据输入端口数和优先级的级数来插入多路器树,将优先级最高的子模块接在多路器树中路径最短的那支上,将优先级最低的子模块接在多路器树中路径最长的那支上,其他优先级的子模块则根据输入端口数的大小选择能够覆盖完所有端口的最少多路器的组合来实现。
步骤e的特征在于,由于在原有结构中插入了非平衡多路器树,系统的时序信息发生了改变,而调度前计算的调度区间受时序信息的影响,因此调度区间的值发生了改变,于是又产生了优化的可能,所以高层次综合工具需要通过不断的迭代步骤e来获得最优的,延时最小的带非平衡多路器的系统。
参照图2,本发明提供的一种非平衡多路器树,由所述的非平衡多路器树的构建方法构建而成,其特征在于非平衡多路器树的输入和输出的路径长度不等长,每一路上的寄存器个数不同,每一路延时的周期不同。该非平衡多路器树在不改变输入端口数目的情况下,能够做到每一条输入到输出的路径长度不同,在数字系统中多路器的输出都会连一个寄存器来存取数据以消除因数据延时产生的传输错误,不同的路径长度意味着每一路的寄存器个数不同,既每一路延时的周期不同,在高层次综合时将最短的路径分配给访问多路器操作最频繁的子模块,将最长路径分配给访问多路器操作最少的子模块,这样就可以根据程序的特点合理的控制输入到输出的延时;而传统的多路器树如图3所示,所有输入到输出的路径长度都相等,每一路的延时周期相同,假设输入A到输出C的操作频率为1000次,输入B到输出C的操作频率为3次,在图2中系统总的延时为1000+3*3=1009个周期,而在图3中系统总的延时为1000*2+3*2=2006个周期,由此可见非平衡多路器树就可以根据程序的特点合理的控制输入到输出的延时,减小系统总体的运行时间,加快系统运行速度。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (2)
1.一种非平衡多路器的构建方法,其特征在于包括以下步骤:
a)、输入数字系统行为描述,获得数字系统的高层次信息及数字系统总体运行信息;
b)、从步骤a所收集到的信息中提取数字系统各功能单元访问多路器操作的频率,生成访问多路器操作频率的列表;
c)、根据步骤b中得出的各个功能单元访问多路器的操作频率的列表,高层次综合工具首先算出在调度前各个功能单元所具有的调度区间值,将调度区间和步骤b中获得的操作频率相乘则得到各个功能单元的权重,再将各功能单元所得权重分为若干优先级,优先级的数目视具体的程序而定;
d)、根据步骤c得出的不同的优先级给多路器树分配资源,首先判断各个模块的优先级,相同优先级的功能单元在多路器树中所占据的路径长度相等,再根据输入端口数和优先级的级数来插入多路器树,将优先级最高的功能单元接在多路器树中路径最短的那支上,将优先级最低的功能单元接在多路器树中路径最长的那支上,其他优先级的功能单元则根据输入端口数的大小选择能够覆盖完所有端口的最少多路器的组合来实现;
e)、步骤d使得各功能单元的权重值发生了变化,重新计算连接在非平衡多路器树上各个功能单元的权重,再按照步骤c和步骤d反复迭代直到最后获得稳定的最优解。
2.一种非平衡多路器树,由上述权利要求1所述的非平衡多路器树的构建方法构建而成,其特征在于:所述的非平衡多路器树的输入和输出的路径长度不等长,每一路上的寄存器个数不同,每一路延时的周期不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210131758.XA CN102722460B (zh) | 2012-05-02 | 2012-05-02 | 高层次综合中的非平衡多路器及其构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210131758.XA CN102722460B (zh) | 2012-05-02 | 2012-05-02 | 高层次综合中的非平衡多路器及其构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102722460A CN102722460A (zh) | 2012-10-10 |
CN102722460B true CN102722460B (zh) | 2015-02-04 |
Family
ID=46948231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210131758.XA Expired - Fee Related CN102722460B (zh) | 2012-05-02 | 2012-05-02 | 高层次综合中的非平衡多路器及其构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102722460B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005638B (zh) * | 2015-06-04 | 2018-06-26 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于线性延时模型的高层次综合调度方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1723665A (zh) * | 2003-02-19 | 2006-01-18 | 富士通株式会社 | 分组调度 |
CN1957352A (zh) * | 2004-05-24 | 2007-05-02 | 松下电器产业株式会社 | 用于分配数据通路的方法和装置 |
CN102419789A (zh) * | 2011-12-16 | 2012-04-18 | 中山大学 | 一种高层次综合方法以及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7656340B2 (en) * | 2008-06-06 | 2010-02-02 | Lsi Corporation | Systems and methods for pipelined analog to digital conversion |
-
2012
- 2012-05-02 CN CN201210131758.XA patent/CN102722460B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1723665A (zh) * | 2003-02-19 | 2006-01-18 | 富士通株式会社 | 分组调度 |
CN1957352A (zh) * | 2004-05-24 | 2007-05-02 | 松下电器产业株式会社 | 用于分配数据通路的方法和装置 |
CN102419789A (zh) * | 2011-12-16 | 2012-04-18 | 中山大学 | 一种高层次综合方法以及系统 |
Non-Patent Citations (1)
Title |
---|
严蔚敏,吴伟民.赫夫曼树及其应用.《数据结构(C语言版)》.清华大学出版社,2002,第144-148页. * |
Also Published As
Publication number | Publication date |
---|---|
CN102722460A (zh) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rabaey et al. | Fast prototyping of datapath-intensive architectures | |
CN102812433B (zh) | 支持四进制加法器的查找表结构 | |
CN114117981B (zh) | 一种基于先验信息的rtl级逻辑划分方法 | |
CN104391748A (zh) | 一种mapreduce计算过程优化方法 | |
CN103150440A (zh) | 一种模块级电路网表仿真方法 | |
CN113569524B (zh) | 芯片设计中基于综合网表提取时钟树的方法及应用 | |
CN105404728B (zh) | 一种基于fpga芯片多控制信号的布局方法 | |
Gurumani et al. | High-level synthesis of multiple dependent CUDA kernels on FPGA | |
US20220350598A1 (en) | Instruction processing apparatus, acceleration unit, and server | |
CN111046624A (zh) | 芯片模块接口时钟结构的构建方法、装置、设备及介质 | |
CN102722460B (zh) | 高层次综合中的非平衡多路器及其构建方法 | |
CN105446702A (zh) | 一种基于串行fft ip核的宽带数字信道化并行处理方法 | |
Kehtarnavaz et al. | FPGA implementation made easy for applied digital signal processing courses | |
CN114357685A (zh) | 一种基于云平台的量子芯片性能模拟分析系统 | |
Sarge | Evaluating Simulink HDL coder as a framework for flexible and modular hardware description | |
CN104951609B (zh) | 一种处理门级网表中的同步逻辑结构的方法 | |
US20070250803A1 (en) | High-level synthesis method and high-level synthesis system | |
CN115705446A (zh) | 集成电路的后仿真方法和装置 | |
Mousouliotis et al. | SqueezeJet-3: An HLS-based accelerator for edge CNN applications on SoC FPGAs | |
KR101297085B1 (ko) | 가변 고속 푸리에 변환 장치 및 그 방법 | |
Jervis | Advances in DSP design tool flows for FPGAs | |
Guddanti et al. | Better data structures for co-simulation of distribution system with gridlab-d and python | |
Shklover et al. | Simultaneous clock and data gate sizing algorithm with common global objective | |
CN105824680A (zh) | 一种存储器编译器时序仿真方法 | |
Rahimifar et al. | Exploring machine learning to hardware implementations for large data rate x-ray instrumentation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150204 Termination date: 20160502 |