- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]10设计的技巧
设计优化 常用设计技巧 流水线操作 乒乓操作 串并转换 数据接口同步 1.流水线 流水线操作:过程图示 流水线设计 流水线设计是指将组合逻辑延时路径系统地分割,并在各个部分(分级)之间插入寄存器暂存中间数据的方法。 时钟的最小周期定义(Xilinx模型) 时钟的最小周期定义(Xilinx模型) 建立时间(Tsetup time) 保持时间(Thold time) 建立时间(Tsu)是指在触发器的时钟有效沿到来以前,数据稳定不变的时间。 保持时间(Th)是指在触发器的时钟有效沿到来以后,数据稳定不变的时间。 时钟的最小周期定义(Altera模型) 总结 流水线缩短了在一个时钟周期内信号通过的组合逻辑电路延时路径长度,从而提高时钟频率。 对于同步电路,其速度就是指同步电路时钟的频率,同步时钟愈快,电路处理数据的时间间隔越短,电路在单位时间内处理的数据量就愈大,即电路的吞吐量就越大,理论而言,采用流水线技术能够提高同步电路的运行速度。 例:以8位全加器为例,比较非流水线设计与流水线设计在处理速度与资源消耗上的区别。 非流水线方式实现的8位全加器 8位加法器的四级流水线实现 8位加法器的四级流水线实现 //输入数据缓存 always @(posedge clk) begin tempa=ina; tempb=inb; tempci=cin; end //第一级加(低2位) always @(posedge clk) begin {firstco,firsts}=tempa[1:0]+tempb[1:0]+tempci; firsta=tempa[7:2]; firstb=tempb[7:2]; //未参加计算的数据缓存 end //第二级加(第2、3位相加) always @(posedge clk) begin {secondco,seconds}=firsta[1:0]+firstb[1:0]+{firstco,firsts}; //两位全加器 seconda=firsta[5:2]; secondb=firstb[5:2]; //未参加运算的数据缓存 end //第三级加(第4、5位相加) always @(posedge clk) begin {thirdco,thirds}=seconda[1:0]+secondb[1:0]+{secondco,seconds}; thirda=seconda[3:2]; thirdb=secondb[3:2]; //数据缓存 end //第四级加(最高两位相加) always @(posedge clk) begin {cout,sum}=thirda[1:0]+thirdb[1:0]+{thirdco,thirds}; end endmodule 资源消耗情况 cycloneⅡ EP2C20Q240C8 寄存器配平(Register Balancing) 寄存器配平(Register Balancing) 流水线设计总结 提高了数据处理速度 增加了资源占用 流水线的级别越多,速度越快 2. 乒乓操作 乒乓操作: 3.串并转换 串并转换 串行-并行 面积换取速度——通过逻辑复制提高数据吞吐率 并行-串行 速度换取面积 Peter关于成功设计的十大原则 所有状态机输出应该有寄存器(registered) 使用寄存器(register),不使用锁存器(latch) 状态输入、包括复位信号应该使用同步设计 路径时间越短,问题越少 时钟偏斜(skew)应该尽量小 对于不同时钟域的信号传递应该引起极大注意,应该同步这些信号。 状态机中应无“死”状态产生 不应该存在未知的异步逻辑反馈电路 所有解码逻辑应该精心设计,避免异步逻辑产生 不应该依赖于仿真器,有时仿真正确,但设计却很糟。 * * * step2 step1 step3 step4 step2 step1 step2 step1 step3 step2 step1 step3 step4 step2 step1 step3 step4 时间 TCLK=TCKO+TLOGIC+TNET+TSETUP-TCLK_SKEW TCLK=TCKO+TLOGIC+TNET+TSETUP-TCLK_SKEW TCLK: 最小时钟周期 TCKO: 时钟输出时间 TLOGIC: 同步元件(如D触发器)之间的组合逻辑时间 TNET: 网线延时 TSETUP: 同步元件的建立时间 TCLK_SKEW: TCLK_SKEW = TCD2-TCD1 时钟信号延时的差别 时钟偏斜:在系统内不同元件处检测到的时钟同一跳变沿 所需的时间差异。 速度:设计在芯片上稳定运行所达到的最高频率。 modu
文档评论(0)