转瞬即逝:
目录 第1章可编程逻辑设计指导原则1 1.1可编程逻辑基本设计原则1 1.1.1面积和速度的平衡与互换原则1 1.1.2硬件原则11 1.1.3系统原则13 1.1.4同步设计原则17 1.2可编程逻辑常用设计思想与技巧19 1.2.1乒乓操作19 1.2.2串并转换21 1.2.3流水线操作22 1.2.4异步时钟域数据同步23 1.3Altera推荐的CodingStyle27 1.3.1CodingStyle的含义27 1.3.2结构层次化编码(HierarchicalCoding)27 1.3.3模块划分的技巧(DesignPartitioning)29 1.3.4组合逻辑的注意事项30 1.3.5时钟设计的注意事项33 1.3.6全局异步复位资源39 1.3.7判断比较语句case和if...else的优先级39 1.3.8使用Pipelining技术优化时序40 .1.3.9模块复用与ResourceSharing40 1.3.10逻辑复制42 1.3.11香农扩展运算44 1.3.12信号敏感表46 1.3.13状态机设计的一般原则47 1.3.14AlteraMegafunction资源的使用49 1.3.15三态信号的设计49 1.3.16加法树的设计50 1.4小结52 1.5问题与思考52 第2章Altera器件高级特性与应用53 2.1时钟管理53 2.1.1时序问题53 2.1.2锁相环应用60 2.2片内存储器69 2.2.1RAM的普通用法69 2.2.2RAM用做移位寄存器73 2.2.3RAM实现固定系数乘法74 2.3数字信号处理75 2.3.1DSP块资源75 2.3.2工具支持79 2.3.3典型应用79 2.4片外高速存储器80 2.4.1存储器简介80 2.4.2ZBTSRAM接口设计83 2.4.3DDRSDRAM接口设计85 2.4.4QDRSRAM接口设计99 2.4.5DDR2、QDRII和RLDRAMII100 2.4.6软件支持和应用实例100 2.5高速差分接口和DPA102 2.5.1高速差分接口的需求102 2.5.2器件的专用资源102 2.5.3动态相位调整电路(DPA)109 2.5.4软件支持和应用实例112 2.6高速串行收发器115 2.7小结117 2.8问题与思考117 第3章LogicLock设计方法119 3.1LogicLock设计方法简介119 3.1.1LogicLock设计方法的目标120 3.1.2LogicLock设计流程122 3.1.3LogicLock设计方法支持的器件族122 3.2LogicLock区域122 3.2.1Region的类型与常用属性值123 3.2.2Region的创建方法124 3.2.3Region的层次结构129 3.2.4指定Region的逻辑内容130 3.3LogicLock的约束注意事项132 3.3.1约束优先级132 3.3.2规划LogicLock区域133 3.3.3向LogicLock区域中布置器件特性133 3.3.4虚拟引脚(VirtualPins)134 3.4反标注布线信息135 3.4.1导出反标注布线信息136 3.4.2导入反标注布线信息138 3.5LogicLock设计方法支持的TclScripts138 3.6QuartusII基于模块化的设计流程139 3.7小结149 3.8问题与思考149 第4章时序约束与时序分析151 4.1时序约束与时序分析基础151 4.1.1周期与最高频率152 4.1.2利用QuartusII工具分析设计154 4.1.3时钟建立时间157 4.1.4时钟保持时间158 4.1.5时钟输出延时158 4.1.6引脚到引脚的延迟159 4.1.7Slack159 4.1.8时钟偏斜160 4.1.9QuartusII时序分析工具和优化向导160 4.2设置时序约束的常用方法161 4.2.1指定全局时序约束162 4.2.2指定个别时钟约束166 4.3高级时序分析174 4.3.1时钟偏斜174 4.3.2多时钟域176 4.3.3多周期约束176 4.3.4伪路径183 4.3.5修正保持时间违例185 4.3.6异步时钟域时序分析186 4.4最小化时序分析187 4.5使用Tcl工具进行高级时序分析188 4.6小结189 4.7问题与思考189 第5章设计优化191 5.1解读设计191 5.1.1内部时钟域192 5.1.2多周期路径和伪路径193 5.1.3I/O接口的时序要求194 5.1.4平衡资源的使用194 5.2设计优化的基本流程和首次编译195 5.2.1设计优化基本流程195 5.2.2首次编译的约束和设置196 5.2.3查看编译报告198 5.3资源利用优化200 5.3.1设计代码优化201 5.3.2资源重新分配201 5.3.3解决互连资源紧张的问题203 5.3.4逻辑综合面积优化203 5.3.5网表面积优化207 5.3.6寄存器打包209 5.3.7QuartusII中的资源优化顾问211 5.4I/O时序优化211 5.4.1执行时序驱动的编译211 5.4.2使用IOE中的触发器212 5.4.3可编程输入输出延时215 5.4.4使用锁相环对时钟移相217 5.4.5其他I/O时序优化方法218 5.5最高时钟频率优化219 5.5.1设计代码优化219 5.5.2逻辑综合速度优化225 5.5.3布局布线器设置227 5.5.4网表优化和物理综合228 5.5.5使用LogicLock对局部进行优化233 5.5.6位置约束、手动布局和反标注234 5.5.7QuartusII中的时序优化顾问235 5.6使用DSE工具优化设计236 5.6.1为什么需要DSE236 5.6.2什么是DSE,如何使用236 5.7如何减少编译时间238 5.8设计优化实例239 5.9小结242 5.10问题与思考243 第6章Altera其他高级工具245 6.1命令行与Tcl脚本245 6.1.1命令行脚本246 6.1.2Tcl脚本250 6.1.3使用命令行和Tcl脚本254 6.2HardCopy流程255 6.2.1结构化ASIC255 6.2.2HardCopy器件258 6.2.3HardCopy设计流程260 6.3基于NiosII处理器的嵌入式系统设计263 6.3.1NiosII处理器系统263 6.3.2Avalon交换结构266 6.3.3使用SOPCBuilder构建系统硬件269 6.3.4NiosIIIDE集成开发环境272 6.3.5NiosII系统典型应用278 6.4DSPBuilder工具281 6.4.1DSPBuilder设计流程281 6.4.2与SOPCBuilder一起构建系统284 6.5小结285 6.6问题与思考285 第7章FPGA系统级设计技术287 7.1信号完整性及常用I/O电平标准287 7.1.1信号完整性287 7.1.2单端标准292 7.1.3差分标准296 7.1.4伪差分标准299 7.1.5片上终端电阻299 7.2电源完整性设计300 7.2.1电源完整性300 7.2.2同步翻转噪声301 7.2.3非理想回路304 7.2.4低阻抗电源分配系统307 7.3功耗分析和热设计311 7.3.1功耗的挑战311 7.3.2FPGA的功耗311 7.3.3热设计313 7.4SERDES与高速系统设计315 7.4.1SERDES的基本概念316 7.4.2AlteraStratixGX和StratixII中SERDES的基本结构319 7.4.3典型高速系统应用框图举例324 7.4.4高速PCB设计注意事项329 7.5小结331 7.6问题与思考331