- 4
- 0
- 约5.49千字
- 约 28页
- 2016-03-12 发布于安徽
- 举报
FPGA Coding Style编码风格 -- 代码优化 编码风格 ◇ 你的HDL代码编写风格将影响综合结果 ◇ 清楚你的代码是“做什么的” ◇ 抛弃你的C语言习惯 ◇ 我们的目标:速度与面积 ◇ 一些基本原则 ◇ 几个实例 你的HDL编码风格将影响综合结果 assign c = n + n + 1; assign c = {n[6:0] ,1’b0} + 1’b1; always@(posedge clk or negedge rst_n) if(!rst_n) begin n2 = 8’b0; c = 8’b0; end else begin n2 = {n[6:0],1’b0}; c = n2 + 1’b1; end 描述2: 描述3: 描述1: 同样实现 c = 2*n + 1 清楚你的代码是“做什么的” always@(posedge clk or negedge rst_n) if(!rst_n) cnt = 10’d0; else begin cnt = cnt + 1’b1; if (cnt = 10’d639) cnt = 10’d0; if (fst) cnt = 10’d0; end always@(posedge clk or negedge rst_n) if(!rst_n) cnt = 10’d0; else begin cnt = cnt + 1’b1; if (cnt == 10’d639) cnt = 10’d0; if (fst) cnt = 10’d0; end 例1: 例2: 抛弃你的C语言习惯 always@(posedge clk or negedge rst_n) if(!rst_n) cnt = 10h0; else if (cnt = 10d639 || (sync == 1b0 sync_buf==1)) cnt = 10h0; else cnt = cnt + 1; 例2: 例1: assign data = (frame_head_valid) ? frame_head_reg : (rtl8305_mtxen_dly) ? rtl8305_mtxd_dly : (frame_tail_valid) ? frame_tail_reg : 8h00; 我们的目标:速度与面积 功能实现 稳定性 速度 面积 可测试性 可维护性 可读性 可复用性 可移植性 一些基本原则 ◇ 了解你的器件和综合实现工具 ◇ 可能的话,尽量让综合器自己推断逻辑 ◇ 用寄存器切割组合逻辑路径 ◇ 合理选用 CASE 和 IF/ELSE 语句 ◇ 避免 CASE 和 IF/ELSE 多层嵌套 ◇ 使用三段式状态机和ONE-HOT编码提升性能 实例:初始代码(同步复位) fmax = 180.213 MHz 初始代码 always@(posedge clk) if (!rst_n || !fst) cnt = 10’b0; else if (cnt = 10’d639) cnt = 10’b0; else cnt = cnt + 1’b1; 优化:修改计数器归零条件(同步复位) fmax = 201.776 MHz if (cnt = 10’d639) ↓ if (cnt == 10’d639) 优化:修改if-else嵌套为case结构(同步复位) fmax = 201.776 MHz if (cnt == 10’d608) … else if (cnt == 10’d618) … else if (c
您可能关注的文档
- CNKI数据库检索及利用.ppt
- Cocos2d中文原理的分析.doc
- Common FPGA Modules.ppt
- Commonly used laboratory animals and its application in biomedical research.ppt
- Comparison_between_English_and_Chinese.ppt
- compiler5_语义的分析.ppt
- contrast of American and chinese values.ppt
- Control Chart(控制图).ppt
- courseware_Hadoop 作业调度技术应用研究.ppt
- Cpbtvm期货投资的分析师考试习题一至六.doc
最近下载
- 核医学教学课件:血液和淋巴显像.ppt VIP
- 重庆市各地方周氏支族源流(1-170支族).doc VIP
- 建筑工程质量管理体系流程图.docx
- 淋巴系统核医学检查课件.ppt VIP
- (高清版)B-T 6003.1-2022 试验筛 技术要求和检验 第1部分:金属丝编织网试验筛.pdf VIP
- (已压缩)TUCST007-2020房屋建筑与市政基础设施工程施工安全风险评估技术标准.docx VIP
- 2026年国家公务员考试申论真题及参考答案(考生回忆版).docx VIP
- 部编版语文二年级上册期中常考七大重点题型专项训练.docx VIP
- 机器人操作系统(ROS)及仿真应用 课件全套 第1--9章 Linux Ubuntu入门基础--- 基于ROS的服务机器人应用实例.ppt
- 压疮的预防及护理技术操作考核评分标准编辑.docx VIP
原创力文档

文档评论(0)