免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Avalon交换架构 流水线 Avalon流水线读传输可以增加Avalon同步从外设的带宽,在第一次访问从外设时需要好几个周期才能返回数据,但是此后每个周期都能返回数据。使用流水线读传输,一个端口可以在上一次传输的readdata返回之前,开始新的传输。只有流水线的读传输,因为Avalon写传输不需要由从端口返回确认信号,所以没有流水线的写传输,Avalon写传输不会受益于流水线。 流水线读传输的持续时间可以分成两个不同的阶段:地址阶段和数据阶段。 主端口在地址阶段提供地址来发起一次传输;从端口在数据阶段发送数据来完成传输。一次新传输(或多次传输)的地址阶段可以在前一次的数据阶段结束之前开始。这个延迟导致了流水线延迟,即从地址阶段的结束到数据阶段的结束,换句话说,就是数据阶段的持续时间。 地址阶段的持续时间(即捕获地址所需要的时钟周期数)决定了端口的吞吐量:长的地址阶段会减少吞吐量。数据阶段的持续时间,只反映了第一个数据单元需要多长时间才能返回。这是等待周期和流水线延迟影响时序关键区别: 等待周期等待周期决定地址阶段的长短,并且限制了端口的最大吞吐量。例如如果一个从端口需要一个等待周期来响应传输请求,则端口每一次传输至少需要两个周期。没有等待周期的Avalon从外设每个时钟周期都可接受一次新传输。 流水线延迟流水线延迟决定了数据阶段的长短,但和地址阶段无关。例如,具有流水线传输的从端口(没有等待周期)可以支持一个周期一次传输,尽管可能需要几个周期的延迟才返回第一个数据单元。流水线延迟可以是固定的或可变的。 4.6.1 具有固定延迟的从端口流水线读传输 Avalon流水线从端口从Avalon交换架构捕获地址和控制信号之后,Avalon流水线从端口需要一个或多个周期来产生数据。在从端口捕获了地址之后,即使前一次传输还没有返回有效的readdata, Avalon交换架构可以立即发起新的传输。因此,流水线从端口在任何时刻都可能有多个挂起的传输。具有固定延迟的从端口流水线传输使用的信号与从端口基本读传输使用的信号相同,不同之处在于,地址和数据阶段的信号时序。 除了readdata信号,地址阶段的信号的时序和顺序同基本读传输相同。在地址阶段,从端口使用从端口可以使用等待周期。地址阶段在等待周期(如果有)结束后的下一个clk上升沿结束。从端口必须在地址阶段的最后一个clk上升沿之前捕获地址。从端口在地址阶段不发出这次传输的readdata。在地址阶段结束后,Avalon交换架构可以发起一次新的传输。 在数据阶段,外设处理花费多个时钟周期来地址,然后经过一个固定的延迟后产生readdata。如果外设具有N个周期的读延迟,从端口必须在地址阶段结束后的第N个clk上升沿提供有效的readdata。数据阶段及整个传输在地址阶段结束后N个周期的clk上升沿结束。例如,如果从端口有1个周期的读延迟,则它会在捕获地址之后的下一个clk上升沿提供有效的readdata。 具有固定延迟的从端口流水线读传输 (A) Avalon交换架构通过提供新传输的地址阶段的chipselect、read和address信号,发起一次读传输。 (B) 从端口已经置waitrequest有效,所以前一个周期称为等待周期。Avalon交换架构保持chipselect、read和 address不变。 (C) 从端口在clk的上升沿置waitrequest无效,并且捕获address。地址阶段结束,数据阶段开始。 (D) 第一个延迟周期在clk的上升沿结束。 (E) 第二个延迟周期在clk的上升沿结束。从端口提供有效的readdata,传输结束。这个clk的上升沿也标志着新的读传输的开始。 (F) Avalon交换架构发出新传输的address、read和chipselect信号。 (G) Avalon交换架构在下一个周期发内,在前一次的传输的数据返回之前发起另一次的读传输。 (H) Avalon交换架构在两个延迟周期之后捕获readdata。 (I) Avalon交换架构在两个延迟周期之后捕获readdata 。 4.6.2 具有可变延迟的从端口流水线读传输 具有可变延迟的流水线读传输允许从端口经过一个可变的数个周期延迟之后返回有效的readdata。具有可变延迟的从端口使用额外的信号readdatavalid来表示从端口何时向Avalon交换架构提供有效的数据。使用了一位的输出信号readdatavalid即意味着该端口为具有可变延迟的流水线从端口。 可变延迟的流水线从端口读传输的信号时序在地址阶段同具有固定延迟的流水线读传输是一样的。在地址阶段之后,具有可变延迟的流水线从端口需要任意的周期数来返回有效的readdata。当外设准备好返回数据,它就同时发送readdata和readdatavalid 并且保持信号不变直到下一个clk的上升沿。Avalon交换架构在这个clk的上升沿捕获readdata和readdatavalid,数据阶段(和整个传输)结束。 从端口必须按照它接受地址的相同顺序返回readdata。据有可变延迟的流水线从端口必须在地址阶段结束之后至少一个周期以后才能返回readdata。 有可变延迟的流水线从端口通常使用可变的等待周期。实际上,流水线从端口只能处理有限数目的挂起传输。从端口可以发送waitrequest信号来暂停新的传输,直到挂起的传输数目减少为止。 (A) Avalon交换架构发出address、read和chipselect信号,发起一个读传输,假设这时没有挂起的传输。 (B) 从端口没置waitrequest有效,所以在此clk的上升沿捕获address1。 (C) 从外设没发出waitrequest,所以在此clk的上升沿捕获address2。 (D) 从端口已达到允许挂起的传输数的最大值,并且没有有效的数据可供返回。从外设在下一个clk的上升沿之前置waitrequest有效,从而使Avalon交换架构能继续发出address、read和chipselect信号。从外设置waitrequest两个周期有效,直到它能返回第一个挂起的传输的数据。 (E) 外设驱动有效的readdata (data1)并置readdatavalid有效,完成第一个挂起的传输的数据阶段。外设置waitrequest无效,因为它能在下一个clk的上升沿接受另一次挂起的传输。 (F) Avalon交换架构在clk的上升沿捕获data1。从外设在clk的上升沿捕获address3。 (G) 因为从端口置readdatavalid有效,Avalon交换架构在clk的上升沿捕获data2。(注意data1和data2都需要4个延迟周期才能返回)。Avalon交换架构发出address、read和chipselect,外设捕获address4。 (H) 由于从端口置readdatavalid有效,Avalon交换架构在clk的上升沿捕获data3。(注意data3需要2个延迟周期才能返回)。Avalon交换架构发出address、read,和chipselect,外设捕获address5。 (I) 因为从端口置readdatavalid有效,Avalon交换架构在clk的上升沿捕获data4 。Avalon交换架构置chipselect无效,结束传输的队列。 (J) 因为从端口使readdatavalid无效,Avalon交换架构在此clk的上升沿不捕获数据。. (K) Avalon交换架构在clk的上升沿捕获data5 ,完成最后的挂起的读传输的数据阶段。 即使从外设正在处理一个或多个的挂起的读传输,Avalon交换架构也可以发起从端口的写传输。如果从外设正在处理挂起的读传输而不能处理写传输,从端口必须发出waitrequest,将写操作暂停,直到挂起的读传输完成。 Avalon从端口如果接受了向当前挂起的读传输的相同地址执行写传输的操作,Avalon接口规范没定义readdata的值。挂起的传输返回的数据取决于外设。外设设计者必须指定在此情况下的逻辑行为,或明确说明该行为未定义。 带有可变延迟的流水线传输属性的从端口面临如下的限制: 具有可变延迟的流水线从端口不能使用固定等待周期的属性,只支持可变等待周期。 流水线从端口不能使用建立和保持时间的属性。 具有可变延迟的流水线从端口不能使用三态属性。 4.6.3 主端口流水线传输 流水线主外设可以在它接收到前一次传输的有效数据之前发起一次新的读传输。使用1位的输入信号readdatavalid来定义一个流水线主端口。 Avalon交换架构发出readdatavalid信号给主端口来指示readdata信号正在提供有效的数据。 在流水线传输方式下,在地址阶段,除了readdata信号之外,信号时序和顺序与Avalon主端口基本读传输是一样的。主端口必须提供read、address和byteenable,并且在waitrequest信号有效时,保持这些信号不变。地址阶段在waitrequest失效的第一个clk的上升沿结束。主端口在地址阶段结束之后,能够马上发起另一次读传输或者写传输。 对流水线传输来说,readdata不必在地址阶段结束之后立刻返回。在地址阶段结束后,当Avalon交换架构发出readdatavalid信号时,有效数据返回。Avalon交换架构始终按照主端口请求的顺序来返回有效的数据。对于Avalon交换架构何时发出readdatavalid信号没有时间的限制。流水线主端口在任意给定的时刻可以有任意数目的挂起的读传输。外设支持的挂起读传输的最大数目由外设的设计者决定。 流水线主端口能够有选择地使用flush信号,当主外设决定它不再需要当前挂起的读传输的数据的情况下,可以使用这个信号。例如,对于不知道指令是否有效之前预取指令的流水线CPU来说,清除流水线的功能是一个基本的要求。当主端口在clk的上升沿发出flush,readdatavalid直到下一次新的读传输的数据在readdata端口上有效之前,一直是无效的。主端口可以在其发出flush信号的同一个周期内发起一次新传输。在这种情况下,这次新传输的数据将是readdata上的下一个有效数据。 (A) 主端口提供新传输地址阶段的address和read信号发起一次读传输 (B) Avalon交换架构置waitrequest有效,所以主端口等待,并再保持address和read一个周期。 (C) Avalon交换架构置waitrequest无效,并在clk的上升沿捕获address。此时readdatavalid无效,所以主端口不捕获readdata。 (D) Avalon交换架构在clk的上升沿捕获一个新的address。readdatavalid 此时是无效的,所以主端口不捕获readdata。 (E) Avalon交换架构在clk的上升沿捕获address (使得挂起的传输数目达到3个)。readdatavalid 置为有效,主端口捕获有效的readdata (data 1)。 (F) readdatavalid无效,主端口不捕获readdata。 (G) readdatavalid无效,主端口不捕获rea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 九年级物理上学期第二次月考试卷含解析新人教版
- 为教育机构设计的2026年在线学习平台升级方案
- excel汇报工作方案
- 内蒙矿山建设方案
- 2026年跨境电商移动端用户行为洞察与策略分析
- 旧村土地复垦实施方案
- 监管科技总体建设方案
- 2025年玩具行业消费趋势预测方案
- 安全生产一般事故的标准
- 企业业务流程优化数据分析方案
- 2026宁波市中考历史知识点背诵清单练习含答案
- 2026年九年级数学中考模拟试卷(重庆卷)
- 郑州电力高等专科学校2026年单独招生《职业适应性测试》模拟试题及答案解析
- 2025-2026学年河北省沧州市中考物理最后冲刺浓缩卷(含答案解析)
- 体育场馆内部治安管理制度汇编
- 2026年高考数学函数与导数试题
- 大学军训军事理论课课件
- 2025年儿童摄影行业发展与创新趋势报告
- 《危险化学品安全法》解读与要点
- 2026秋招:贵州黔晟国有资产经营公司笔试题及答案
- 2026春人教版八年级英语下册重点单词-词性转换背诵默写(背诵版)
评论
0/150
提交评论