行为描述的VHDL信号的语义和综合Word格式文档下载.docx
- 文档编号:22143286
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:18
- 大小:681.50KB
行为描述的VHDL信号的语义和综合Word格式文档下载.docx
《行为描述的VHDL信号的语义和综合Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《行为描述的VHDL信号的语义和综合Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
我们想强调在这一点,本文着重讲述只有在信号语义和综合过程的外部VHDL描述。
[10,11]提出了许多研究工作,交易与调度和寄存器分配等问题的在一个过程关注问题的综合。
同样的原因,局部变量不是本文讨论的。
2.分辨率函数
2.1语义
如果不包括分辨率函数,任何VHDL的讨论都是不完整的。
一般来说,一个VHDL描述由一组流程利用全局交流信号。
因此全局信号代表了一个虚拟的线,连接两个或更多独立的进程。
由于独立的自然的过程很可能是写一个全球的信号在一个给定的瞬间不止一个过程。
因此,它是必须确定一个单一值的信号这个设置的值不同的过程写的。
在VHDL,分辨率函数是用于此目的。
图2(a)显示了概念所需的硬件解决信号S。
图1具有端口和信号的:
简单VHDL例子。
为分辨率函数输入的是信号的类型一组值。
因此每个进程必须提供一个该类型的值。
如果一个信号是复合信号,那么每个进程必须为它的所有子元素分配一个值。
VHDL的语言没有指定在一个模型如何使用分辨率函数。
该分辨率函数可以是非常复杂的。
然而,它应该被记录在硬件,导线的价值与多个驱动程序是由技术决定的。
因为一个VHDL模型是针对硬件,分辨率连接必须用于这些特定于技术的特点模型而不应该包含任何其他功能。
2.2.综合
由于分辨率函数只用于代表典型目标技术的线,综合工具不需要综合分辨率函数。
然而,为综合电路的实现技术应该是由指定的分辨率函数保存。
3.VHDL的信号
信号通常用于模型之间的通信。
一个信号可以模拟导线,总线,或者寄存器并可以表示任何数据类型(如整型、二进制或用户自定义的记录)。
在VHDL,信号可以是三种:
简单(或没有类型),总线,或者寄存器。
[l,7]提供详细的语法
对于一个信号声明。
这个概念的硬件(如图2所示)清楚地显示出了信号语义用于简单的组件。
最后实现信号不需要像这个概念上的硬件。
这个表在图3总结了信号语义。
3.1.语义
3.1.1简单(没有类型)信号
简单信号最重要的特征是这些信号驱动程序不能关掉(即,一个null赋值“S<
=null;
“是不允许的)。
因此,一个简单信号在任何时候都有它的所有活跃的驱动,在多个驱动中的信号的值是由该决议函数相关的信号确定的。
如图2所示(a),每个信号在概念上的硬件实例化为一个虚拟的线。
所有虚拟电线是显示为一位宽的信号,尽管在现实中实际的信号可能是几位宽。
虚拟线在指定的类型声明的信号拥有一个值。
这种虚拟线的作用是读取任何过程的信号。
在一个流程实例化中为信号编写一个值并虚拟存储在其中。
存储是相同的类型和宽度的信号。
在这种存储器引用到过程驱动的信号,我们会看到为什么在我们的概念硬件模型中虚拟存储需要在每个过程中写入到信号,让我们考虑下面的VHDL代码段:
v:
=1;
s<
=v;
waitfor50ns;
=2;
根据VHDL信号语义,上面的过程应继续推动值为1的S直到v的值设置为2。
因此一个虚拟存储的S,持有这些值1是暗示。
这个虚拟存储(在概念上的硬件显示为一个虚拟的锁)可能在综合中被淘汰了。
当多个进程写入到一个全局信号,一个虚拟的门闩是隐含在其中的每个自动流程(如图2所示(a))。
该决议函数(用一个黑色椭圆形)确定了全局的信号综合的值对,这些值被不同的进程读取。
简单信号
总线类信号
寄存器类信号
3.1.2.总线类型信号
区别上述总线信号和简单信号关键的是,总线信号可以在过程中关闭它信号驱动号。
这是通过指定一个null值的信号在“S<
”。
在这种情况下分辨率函数在当所有信号驱动关闭的时候确定综合的值。
在我们的概念硬件模型中,我们将通过引入虚拟缓冲区(图2(b))介绍这个额外能力。
这个虚拟缓冲区可以为虚拟线贡献一个值或者任何值也不提供,这决定于驱动是开启还是关闭。
3.1.3.寄存器种类信号
图3给出了寄存器类信号的特点。
寄存器类信号和总线类型信号是一样的,除了一点外,就是当所有的驱动程序都关闭,寄存器类信号会保持它的最后(解决)值。
这意味着在我们的概念上的硬件的额外存储,如图2所示(c)。
虚拟线的解析值至少有一个驱动在锁存。
所有读取都从个锁存器输出;
因此当所有的驱动程序都关闭,将读取最后的锁闭的值。
信号类型
简单
总线
寄存器
允许驱动的数量
多个
是否需要分辨率函数
只有当多个驱动是需要
需要
驱动能否关闭
不能
能
多个驱动开启时的值
由分辨率函数决定
所有驱动关闭时的值
不可能
信号的最后解出值
表3:
几种信号的特点
3.2综合
3.2..1综合硬件信号
在为不同的信号类型引入了一个概念性的硬件模型后,我们现在考虑的问题是在真正的硬件实现信号。
图4显示三种信号类型的硬件实现策略。
真正的综合硬件在概念模型是中很多的情况下是重要的。
虚拟电线可以携带任何数据类型的值。
真正的电线传送位(即电压)。
因此综合的第一个任务是位编码:
为套位转换的所有数据类型。
标量信号类型如布尔运算,整数,字符、字符串和枚举类型被编码成一个或者更多的比特。
例如,一个信号的类型“整数范围0到20”是编码成五位,或整数数组成为一个位向量数组。
一个复合信号类型比如一个记录可以看作是它的每个元素是一个独特的信号。
其他类型如存取类型(指针)和文件类型是太脱离硬件容许的范围。
算法对钻头编码超出了本文的范围。
信号种类
实现方式
线
水平敏感锁存器+线
每个驱动是否需锁存器
每个驱动是否需要三态缓冲器
不需要
只有当驱动已经关闭时需要(例如S<
=null)
只有当驱动已经关闭时需要(例如:
S<
表格4:
几种信号的硬件实现
在编码所有信号来解决复杂数据类型后,在概念硬件模型可以实现的信号被选择用来启发方法。
我们是指这样的选择信号可锁存信号。
其他的信号并不选择的是因为他们需要大量的锁存器。
例如,一组1000个16位位向量每个过程将需要一个16000位的锁存器在,这是不可行的。
那些在内存实现的信号,本文稍后讨论。
图5:
可锁存信号综合的程序
可锁存信号在硬件实现类似于图2。
因为锁存器持有比特,一个三态缓冲器用于虚拟缓冲区。
高级综合算法应用到每一个单独过程必须在过程中确定锁存器和缓冲器相关的状态。
综合算法可以在当锁存器和/或缓冲器不是必须的时候消除它们。
例如,考虑了VHDL的代码段如下所示:
P:
process(B,C)
begin
A<
=B+C;
EndprocessP;
A的线可以与B和C的混频输出联系在一起,因为P列表的灵敏度A会随B或C变化而变化。
锁存器消除一般的优化规则是:
一个锁存器是需要在一个过程,当且仅当信号S的当前来源在一个时钟周期更新一个新的值,驱动一个信号,但是信号本身不变。
一个来源是出现在S的任务右边的任何符号。
图5概述了综合算法来得到一个给定信号的硬件实现。
综合算法决定了有多少进程写入信号,无论信号在每个过程是否需要锁存器和三态驱动,以及最后值如何如何写入一些组合流程。
从概念上讲我们表示一个进程驱动信号的值然后由单独的总线读值,来说明分辨率函数如何工作。
在实际中只有一个总线是必要的。
这种简化,只有当分辨率函数反映了一个实体连接的特点且不具备其他功能才能实现。
图6说明了这个概念。
图6:
简化分辨率函数限制
3.2.2
当一个信号不能在锁存器的时候可以存在内存。
我们应当把这些作为记忆信号。
我们假设所有的记忆信号被实现为一个二维数组的位向量。
(其他内存类型转换为两维数组)。
图7:
不同的仲裁模型
内存驻留外的过程。
每个访问内存的进程替换为一个通道包括地址、数据和控制。
锁存器可能需要在程来控制地址和数据值,因为它们本质上是全局的信号。
这个外部内存可以被系统中所有的进程访问。
确保所有过程在不同的时间可以访问内存是非常困难的,。
因此冲突是可能的。
唯一的方法来避免这些冲突他们之间是显式地仲裁。
仲裁是通过为现有流程的行为添加功能来完成。
每个进程必须请求许可来访问内存。
完成访问之后,这个过程必须移交它的访问权限。
这信号交换是执行于两个信号之间(请求,许可)。
同时,一个新的仲裁建立了。
图8:
固定优先级的内存的仲裁器描述的VHDL程序
仲裁限制访问给定的资源。
访问约束可以出现在内存被绑定到比需要的更少端口的库组件,或者当总线合并以满足接口约束的时候。
几个选择仲裁模型如图7所示。
在图7(a),每个访问是静态分配给一个特定的端口。
在这里,并发访问在一个端口是仲裁。
在图7(b)和(c),访问被分配到动态端口。
这个仲裁必须限制在任何时候访问两个进程。
在图7(b),每个进程可以直接访问端口,所以仲裁只会通知许可使用的端口过程。
图7(c),所有的通信都是通过仲裁器,所以它必须向每个进程可用的端口发送地址/数据。
第一个仲裁模型很简单,但性能不太好。
在一个过程可能会等待一个端口直到能使用即使另一个端口是未使用的。
第二个模型减轻了这种静态的问题,但需要一个更复杂的仲裁器。
同时,每个过程都必须能够访问多条总线。
第三种模式消除了过程的复杂性,但是再一次导致一个复杂的仲裁器可能引起路由拥堵问题。
图8显示了一个算法来生成一个固定优先级仲裁计划访问内存信号,MEM。
这个仲裁器生成算法要求优先权流程被指定为一个列表,PLIST。
每个访问到MEM在流程修改为合并为过程和仲裁器之间的一个信息交换通信机制。
所有需要访问MEM进程将请求仲裁器的许可。
仲裁过程由算法生成如图8所示的授予访问权限最高优先级的请求。
(a)多进程VHDL描述与数组访问
(b)三端口内存的综合设计
(C)1端口内存仲裁器的综合设计
图9显示了有多个访问全局内存的多处理VHDL描述的综合结果。
如图9所示(a),三个并发的访问全局内存是可能的。
这个综合使用3端子内存的结果如图9(b)所示。
在本例中,数据访问可以在一个单独的端口独立完成。
然而如果一个单独的端口内存被使用,仲裁模块要求来控制内存的访问。
这样的综合结果如图9(c)所示。
4.端口
4.1语义
一个实体可能有与外部环境联系的端口。
端口的语义是相同的信号出去不同的,端口有一个关联的模式(输入,输出,输入输出),这限制了数据流通过允许端口的方向。
在图10(a)和图10(b)我们显示简单概念硬件典型的输入和输出端口。
输出端口的作用处理分辨率函数值。
在图10(c),我们显示了一个输入端口的概念硬件。
注意外部环境也可以编写到端口。
该分辨率函数解决所有这些值,以确定端口的实际值。
在概念硬件,输入输出端口分离成一条输入和输出的虚拟线。
这是因为的从外部环境输入端口输入的值可能不同于解析后的值。
由于分辨率函数的作用,输入和输出的线可以被综合为一条。
(A)输入端口模型
(B)输出端口模型
(C)输入输出模端口型
图10:
三种端口型的概念硬件
VHDL也允许输出或输入输出端口和总线类型一样。
语义和概念硬件讨论了总线类型信号也适用于端口。
然而,一个端口不能被声明为寄存器类型。
4.2综合
因为端口在许多方面类似信号综合收益也非常类似于综合的硬件信号。
概念硬件图端口在图10所示可能是实际的硬件。
然而简化可能对于输入输出端口。
一个输入输出端口的值可以实现为一个单一总线尽管他们是概念上显示为独立的总线。
这种简化只有当分辨率函数反映了端口物理特性且不包括任何其他功能才可能实现。
5总结
本文提出的减弱存在于VHDL中现有的的综合系统的限制可以用来指定的设计。
为从VHDL获得等效的硬件功能,这必须理解VHDL结构的语义,尤其是几个过程提出的信号。
我们已经介绍了典型概念硬件来解释信号,端口和分辨率函数的语义。
我们也给程序综合硬件这样的结构。
虽然许多的可锁存信号的限制已经消除。
对映射到内存的复合信号仍然具有一些使用限制,并且可能需要仲裁然后增加新功能。
我们没有方法消除这些限制,除非有VHDL能添加一个更匹配可综合硬件全局内存构造。
参考文献:
(1)IEEEStandardVHDLLanguageReferenceManual,1988.
(2A.SalemandD.Borrione,“FormalsemanticsofVHDLtimingconstructs,”inProceedingsofEuro-VHDL,1991.
(3)L.Saunders,“TheIBMVHDLDesignSystem,”inProceedingsofthe24thDesignAutomationConference,1987.
(4)R.Camposano,L.F.Saunders,andR.M.Tabet,“VHDLasInputforHighLevelSynthesis,”IEEEDesignandTestofComputers,March1991.
(5)J.LisandD.Gajski,“SynthesisfromVHDL,”inProc.oftheICCD,1988.
(6)J.RoyandR.Vemuri,“DSS:
ADistributedSynthesisSystemforVHDLSpecifications,”inVHDLUsers’GroupSpring1991Conference,1991.
(7)R.Lipsett,C.F.Schaefer,andC.Ussery,VHDL:
HardwareDescriptionandDesign.KluwerAcademicPublish-ers,1989.
(8)LSaunders,“Whatthe%@#%!
areRegisterandBusSig-nals,”inTutorialatVHDLInternaiionalUsersForum,May1992.
(9)L.Ramachandran,F.Vahid,S.NarayanandD.Gajski,“SemanticsandSynthesisofSignalsinBehavioralVHDL.”UniversityofCalifornia,Irvine,TRICs92-28,1992.
(10)D.D.Gajski,NikilDutt,AllenWuandSteveLin,HighLeuelSynthesis:
IntroductiontoChipandSystemDesign.KluwerAcademicPublishers,1991.
(11)R.Camposano,W.Wolf,High-LeuelVLSISynthesis.KluwerAcademicPublishers.1991.
词汇表:
globalsignals:
全局信号
synthesis:
综合综合
resolutionfunction:
分辨率函数
multiple:
多个倍数
automatically:
自动的
arbiter:
仲裁器
Semantics:
语义
Restrictions:
限制
Subelements:
子元素
Virtual:
虚拟的
Latch:
锁存器
externalenvironment:
外部环境
alleviates:
减轻
Algorithms:
算法
conceptualhardwaremodel:
概念硬件模型
Immunity抗干扰系数,免疫力
Estimation估计估算尊重
Relevance相关性,关联,
Integratedcircuits集成电路
Emissivity发射率辐射系数
Illustrate阐述举例说明
Expose显示
Identify确定
Generate产生
Density密度密集
Supplyvoltage电源电压
Margin边缘安全系数
Electromagnetic电磁的
Silicon硅
Manufacture制造加工
Compatibility兼容性
Estimate估计
Buffer缓冲
Specification规格说明书规范
Linear线性的
Equivalent等效
Conduct引导指挥
Gap空白
Simulation仿真
Transistor晶体管
Currentsource电流源电压
Embeddedinto嵌入
Identifying识别
Dynamic动态
Consumed消耗
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 行为 描述 VHDL 信号 语义 综合
![提示](https://static.bdocx.com/images/bang_tan.gif)