- 1、本文档共64页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 基于Xilinx芯片Verilog进阶设计 面向硬件电路的设计方法 代码风格与可综合设计 通用代码风格 专用代码风格 企业代码风格 企业级大规模FPGA应用设计方法 原语的使用 面向硬件电路的设计方法 将具体功能形成硬件的RTL级模型 编写代码始终要考虑硬件如何实现 基于FPGA实现的Verilog设计特点 并行化 同步控制 实现代价 面向硬件电路的设计方法 硬件实现的并行化 从电路上来看: 只要芯片上电,所有逻辑就开始工作。 从代码上来看: 所有的描述语句之间是并行执行的; always语句在边沿触发条件下的行为描述均采用非阻塞赋值,并行执行; 面向RTL级电路的电路设计易于实现流水操作; 与一般高级语言的顺序代码为主的设计方法有本质的区别。 面向硬件电路的设计方法 时序延迟信号 reg a, a_d1, a_d2; always @ (posedge clk or negedge rst) begin if (~rst) begin a_d1 = #TP 0; a_d2 = #TP 0; end else begin a_d1 = #TP a; a_d2 = #TP a_d1; end end 面向硬件电路的设计方法 基于全局时钟的同步设计 数据存储在FPGA的寄存器或存储器中,时钟可看作执行控制器; 串行算法的执行可以按照时钟节拍的顺序进行控制,寄存器输出以及组合逻辑通常作为控制条件。 例如:采用计数器控制状态变化或数据处理过程。 面向硬件电路的设计方法 实现代价 “面积”和“速度”的综合考虑: “面积”指所占用的FPGA资源(FF和LUT); “速度”指芯片稳定运行所达到的最高频率。 “面积”和“速度”是一对矛盾,可相互转化: “面积”优先:资源复用; “速度”优先:冗余同构部件。 ISE 的Map选项: 优化策略可选择Area和Speed的优化策略 代码风格与可综合设计 Verilog HDL语言本身的规范只面向仿真 不使用综合工具不支持的Verilog结构 除了wire、reg的多数数据类型 开关级原语 deassign、wait等行为语句 UDP和specify模块 …… 遵循可综合设计原则 代码综合出预想的逻辑 行为描述的完整性 代码风格与可综合设计 同步电路设计 优点 容易使用寄存器的异步复位/置位端,以使整个电路有一个确定的初始状态; 有效避免毛刺,提高可靠性; 简化时序分析过程; 减少对工作环境的依赖性,提高可移植性; 原则 尽可能使用单时钟(全局时钟) 尽可能使用单时钟沿触发(posedge clk) 避免使用门控时钟(组合逻辑驱动的时钟) 若使用分频时钟应当统一管理 代码风格与可综合设计 同步电路设计 代码风格与可综合设计 同步电路设计的模块划分 信息隐蔽、抽象: 避免跨模块控制,边界清晰; 端口明确: 禁制多重功能和无用接口; 时钟域区分: 异步FIFO或双端口RAM实现多时钟域隔离; 低频时钟域尽可能划分到一个模块中; 资源优化: 尽量使用厂商提供的原语 寄存器划分: 模块的输出尽可能采用寄存器输出(reg型) 代码风格与可综合设计 代码风格(包括书写规范和描述方法) 通用代码风格 Verilog HDL语言规范,硬件无关,性能未必最优; 专用代码风格 基于具体芯片的结构和资源,性能优化,移植性可能受影响。 “华为Verilog HDL设计规范” Sun公司 “Verilog Style and Coding Guidelines” “Actel HDL Coding Style Guider” 注重代码的硬件实现质量。 目标:功能正确,性能最优 通用代码风格 逻辑复用 Synplify提供逻辑复用选项,但若要获得最佳的复用效果,在源代码设计中应采用显式的复用控制逻辑; 节约面积。 逻辑复制 Synplify提供最大扇出选项,如果扇出过大(驱动过多后续逻辑),需增加缓冲器提高驱动能力,但信号延迟增大; 增加面积。 通用代码风格 逻辑结构 树状结构优于链式结构,缩短延迟级数。 if语句和case语句使用原则 if语句面积小,延迟大;case语句面积大,速度快。 if适合对速度无特殊要求的场合;case适合高速编解码电路。 if分支具有优先级,case分支无优先级。 if不可嵌套技术过多,一般不超过3-4层。 兼顾面积和速度,if和case混合使用。 通用代码风格 关键路径信号处理 引起电路建立时间不足的信号路径成为关键路径 组合电路关键路径提取采用逻辑拆分方式,降低关键信号的组合延迟级数。 分析下面语句中b所经过的LUT级数。 assign y = a b c | d e b;
您可能关注的文档
- 第19章_抗心绞痛药药学剖析.ppt
- 第19章法律职业剖析.ppt
- 第19章股份支付剖析.ppt
- 第19章--股份支付-剖析.ppt
- 第19章抗高血压药物剖析.ppt
- 第19章抗心律失常药2014剖析.ppt
- 第八版药理学 40 大环内酯类、林可霉素类及多肽类抗生素剖析.ppt
- 第八版药理学 42 四环素类及氯霉素类剖析.ppt
- 第八版药理学 43 人工合成抗菌药剖析.ppt
- 第19章-镇痛药剖析.ppt
- 《GB/T 10810.3-2025眼镜镜片 第3部分:透射比试验方法》.pdf
- 中国国家标准 GB/T 45283.2-2025工业控制系统人机接口组态文件交互 第2部分:基础交互描述.pdf
- 《GB/T 45283.2-2025工业控制系统人机接口组态文件交互 第2部分:基础交互描述》.pdf
- GB/T 45283.2-2025工业控制系统人机接口组态文件交互 第2部分:基础交互描述.pdf
- 中国国家标准 GB/T 10810.3-2025眼镜镜片 第3部分:透射比试验方法.pdf
- GB/T 10810.3-2025眼镜镜片 第3部分:透射比试验方法.pdf
- 《GB/T 27995.1-2025半成品镜片毛坯 第1部分:单焦和多焦》.pdf
- GB/T 27995.1-2025半成品镜片毛坯 第1部分:单焦和多焦.pdf
- 中国国家标准 GB/T 27995.1-2025半成品镜片毛坯 第1部分:单焦和多焦.pdf
- 《GB/T 10810.5-2025眼镜镜片 第5部分:表面耐磨试验方法》.pdf
最近下载
- Unit 4 Eat Well(大单元说课稿)2024-2025学年七年级英语下册同步备课系列(人教版2024).docx VIP
- 《子路、曾皙、冉有、公西华侍坐》知识点.pptx VIP
- 《光电技术简明教程》全套PPT课件.pptx
- 《法国古典主义园林》课件.ppt VIP
- 资兴市鲤鱼江中学综合楼工程基于BIM的三维建模.docx
- 心理健康-六年级(下)-第18课-为升学做准备.pptx
- 全国计算机等级考试(二级)考试题库及参考答案(精练).docx
- 天翼云认证解决方案架构师考试题及答案(新版).doc VIP
- 广东广电运通招聘笔试题库2025.pdf
- 张丹海《简明大学物理》2-8功能原理机械能守恒定律.ppt VIP
文档评论(0)