选题4基于预约表的非线性流水线调度模块设计

选题4基于预约表的非线性流水线调度模块设计

ID:39966634

大小:117.00 KB

页数:4页

时间:2019-07-16

选题4基于预约表的非线性流水线调度模块设计_第1页
选题4基于预约表的非线性流水线调度模块设计_第2页
选题4基于预约表的非线性流水线调度模块设计_第3页
选题4基于预约表的非线性流水线调度模块设计_第4页
资源描述:

《选题4基于预约表的非线性流水线调度模块设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机体系结构实验指导实验四选题四基于预约表的非线性流水线调度模块设计一、目的(1)通过实例设计,学习基于预约表的非线性流水线调度逻辑的规划与设计,理解非线性流水线产生调度冲突的机理;学习用无冲突启动距离调度非线性流水线。二、内容(1)实验命题本实验采用的非线性流水线的基本结构如图1(a),见课本295页。图1(b)是对应的预约表。必须指出,要实现用预约表去调度非线性流水线,调度控制逻辑是必不可少的。图1中的虚线箭头表示各流水段的选通脉冲。要在某个节拍让某流水段工作,就应该给该流水段送一个选通脉冲;反之,若要使某流水段在某节拍不工作,就不能送选通脉冲。图2是调度控制逻辑的

2、工作示意图。图中,CLK是时钟节拍脉冲,在CLK的作用下,调度控制逻辑要按照预约表,实时发送选通脉冲。例如,在节拍2,应该在U2和U3端输出选通脉冲(上升沿有效);而U1和U4则不能输出选通脉冲(保持低电平)。(2)实验要求使用QartusⅡ设计调度控制逻辑,并按指定数据仿真。(2)学习使用QartusⅡ设计硬件逻辑,对典型数据进行仿真分析。S1输出S2S3S4输入图1(a)非线性流水线的连接图节拍功能段1234567S1×××S2××S3××S4×图1(b)预约表调度控制逻辑图2预约表查表选通S1U1选通S2U2CLK选通S4U4选通S3U3三、步骤及提示(1)建立Qa

3、rtusⅡ工程(Project),命名为exp4。工程的层次如图3。其中exp4为顶层设计,见图4。图4中,lpm_counter1是计数器。lpm_rom1是4位只读存储器,在定制lp_rom1时,不要选中步骤2/5中的'q'outputport项。存储的数据值见图5。lpm_counter1和lpm_rom1实现任务的分时发射。图5中的数据表示启动距离为(1,7)。4位数据D3D2D1D0中,D2D1D0分别对应3个相邻的任务(即课本中的×1、×2、×3)。当D0为1时,表示发射了一个任务,此后,至少要等到一个任务周期(按本预约表,为7拍)完成后,才能使用D0发射任务

4、。图3-4-计算机体系结构实验指导实验四由图5可看出,当在节拍0(Addr=0)使用D0发射后,在节拍1又要发射下一任务,此时只能用D1发射了。D3=1时,将使计数器lpm_counter1回到0,按(1,7)启动,D1=1以后,在经过7拍又要发射下一任务。此时就可使用D0发射了。于是,到Addr=7时,就会回到Addr=0,从而使D0发射。图5mc.mif在exp4中,调用了5种自定义功能模块:Task:见图6。当Start有效(=1)时,就根据预约表启动一个任务周期。输出S[3..0]表示某节拍时4个流水段的使用情况,例如,当Start有效后的下一节拍,按照预约表,应

5、有S[3..0]=(0,1,1,0),表示S3、S2工作,S4、S3不工作。本模块保存的文件为Task.bdf。ProTab:Task模块调用的自定义功能模块,见图7。图中的lp_rom用于存放预约表,见图8-4-计算机体系结构实验指导实验四。lp_rom与Precontract.mif文件关联。注意图8中的数据排列格式,Addr列对应预约表中的节拍行,数据列表示各功能段的使用情况。例如,Addr=1时,数据D7D6...D0=10000001,D3D2D1D0分别对应S4、S3、S2、S1,D3D2D1D0=0001表示在第1节拍S1要使用,S4、S3、S2不使用;D6

6、D5D4备用;D7=1表示本数据属于任务周期中的一个节拍。在定制lp_rom0时,不要选中步骤2/5中的'q'outputport项。图6Task.bdf图8Precontract.mif图7ProTab.bdfStrob:选通脉冲形成模块,见图9。该模块检测某功能段是否有任务到达,若有则从ST输出一个选通脉冲,以选择该功能段工作。图中A、B、C表示3个分时启动的任务。本模块保存的文件为Strob.bdfConflict:冲突检测模块,见图10。该模块检测某功能段是否有两个以上的任务同时到达。若有则从Conflict输出一个高电平。图中A、B、C表示3个分时启动的任务,当

7、采用存在冲突的启动距离时,他们可能在某节拍同时到达某功能段。本模块保存的文件为Confilct.bdf.图9Strob.bdf图10Conflict.bdf(2)建立仿真通道文件,如图11。编辑CLK。注意CLK的时间间隔选择。CLK的周期为100ns(50ns低电平+50ns高电平),CLK的上升时刻要按照图中的时刻指定,不要搞错。仿真总时间为2us,可通过Edit/EndTime菜单来设置。编辑完成后,保存为exp4.vwf。(3)仿真,结果如图11。(4)结果分析由仿真结果可见,Start1发送1个任务后,Start2即

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。