第一章 前言 | 第1-24页 |
1.1 集成电路设计概况 | 第12-17页 |
1.1.1 集成电路设计的发展 | 第12-13页 |
1.1.2 SoC设计 | 第13-16页 |
1.1.3 IP重用技术 | 第16-17页 |
1.2 嵌入式系统设计方法的演变 | 第17-18页 |
1.3 当前集成电路设计的流程和方法 | 第18-21页 |
1.3.1 当前集成电路设计的典型流程 | 第19-20页 |
1.3.2 集成电路设计的方法 | 第20-21页 |
1.4 课题工作内容、意义和论文结构 | 第21-24页 |
1.3.1 课题工作内容 | 第21-22页 |
1.3.2 课题工作的意义 | 第22页 |
1.3.3 论文结构 | 第22-24页 |
第二章 指令系统和顶层设计 | 第24-30页 |
2.1 指令系统 | 第24-27页 |
2.1.1 指令种类 | 第24-25页 |
2.1.2 指令格式 | 第25-26页 |
2.1.3 寻址方式 | 第26页 |
2.1.4 RISC指令集和两级指令流水 | 第26-27页 |
2.2 顶层设计 | 第27-30页 |
2.2.1 顶层结构 | 第27-28页 |
2.2.2 哈佛结构 | 第28-30页 |
第三章 数据通道的设计 | 第30-42页 |
3.1 内部数据总线的设计 | 第31-32页 |
3.2 存储器 | 第32-34页 |
3.2.1 程序存储器(ROM) | 第32-33页 |
3.2.2 数据存储器(RAM) | 第33-34页 |
3.3 指令寄存器(IR) | 第34-35页 |
3.4 专用寄存器 | 第35-40页 |
3.4.1 状态寄存器(STATUS) | 第35-36页 |
3.4.2 参数寄存器(OPTION) | 第36-37页 |
3.4.3 程序计数器(PC) | 第37-38页 |
3.4.4 堆栈寄存器(STACK) | 第38页 |
3.4.5 间接地址寄存器(INDF)和FSR寄存器 | 第38-39页 |
3.4.6 工作寄存器(W) | 第39页 |
3.4.7 输入/输出端口(PORTA、PORTB、PORTC、TRISA、TRISB、TRISC) | 第39-40页 |
3.5 算术逻辑运算单元(ALU) | 第40-42页 |
第四章 时序发生器部分的设计 | 第42-51页 |
4.1 时钟的设计 | 第42-44页 |
4.1.1 多时钟系统和状态机 | 第42页 |
4.1.2 HGD08R01的多时钟系统 | 第42-43页 |
4.1.3 多时钟的设计 | 第43-44页 |
4.2 看门狗和分频器的设计 | 第44-47页 |
4.2.1 看门狗和分频器的功能 | 第44-46页 |
4.2.2 看门狗和分频器的结构 | 第46-47页 |
4.3 复位的设计 | 第47-49页 |
4.3.1 系统复位的种类和结构 | 第47-48页 |
4.3.2 系统复位后寄存器的状态 | 第48页 |
4.3.3 复位时间 | 第48-49页 |
4.4 整体时序设计 | 第49-51页 |
第五章 指令译码和硬布线控制的设计 | 第51-60页 |
5.1 指令译码和硬布线控制设计的重要性 | 第51-52页 |
5.2 指令译码和硬布线控制的结构和机制 | 第52-53页 |
5.3 基于微操作的译码和控制设计 | 第53-54页 |
5.4 基于数据通道指令流程图的译码和硬布线控制设计 | 第54-58页 |
5.4.1 基于数据通道的指令流程图 | 第54-55页 |
5.4.2 指令译码的设计 | 第55页 |
5.4.3 硬布线控制的设计 | 第55-58页 |
5.4.3.1 通道控制的分析 | 第55-56页 |
5.4.3.2 通道控制的时序 | 第56-57页 |
5.4.3.3 主要的控制信号 | 第57-58页 |
5.4.3.4 控制设计的优化 | 第58页 |
5.5 小结 | 第58-60页 |
第六章 Verilog HDL语言设计 | 第60-70页 |
6.1 Verilog HDL语言的特点 | 第60-61页 |
6.1.1 C语言风格 | 第60页 |
6.1.2 描述硬件的语言 | 第60-61页 |
6.1.3 各种抽象层次的描述 | 第61页 |
6.2 Verilog HDL代码设计要点及实例 | 第61-70页 |
6.2.1 组合逻辑的描述 | 第61-63页 |
6.2.2 时序逻辑的描述 | 第63-66页 |
6.2.3 可综合性问题 | 第66页 |
6.2.4 内部数据总线的描述 | 第66-67页 |
6.2.5 双向端口的描述 | 第67-68页 |
6.2.6 测试平台的编写 | 第68-70页 |
第七章 HGD08R01的仿真验证 | 第70-97页 |
7.1 HGD08R01仿真验证的流程 | 第70-75页 |
7.1.1 系统仿真 | 第71-72页 |
7.1.2 RTL级仿真 | 第72-74页 |
7.1.3 门级仿真 | 第74页 |
7.1.4 硬件仿真 | 第74-75页 |
7.2 测试方案 | 第75-79页 |
7.2.1 针对不同指令进行测试验证 | 第75-76页 |
7.2.2 针对不同操作数进行的测试验证 | 第76-77页 |
7.2.3 针对不同的功能块的测试 | 第77-79页 |
7.2.4 环境因素的考虑 | 第79页 |
7.3 仿真结果的验证自动化 | 第79-83页 |
7.3.1 指令集优化的方法 | 第79-81页 |
7.3.2 标准文件法 | 第81-83页 |
7.4 FPGA验证 | 第83-92页 |
7.4.1 建立FPGA测试验证平台 | 第84-89页 |
7.4.2 FPGA验证的流程 | 第89-91页 |
7.4.3 FPGA验证结果 | 第91-92页 |
7.5 ASIC验证及实现 | 第92-97页 |
7.5.1 ASIC验证及实现的流程 | 第92-93页 |
7.5.2 ASIC综合 | 第93-94页 |
7.5.3 ASIC门级仿真 | 第94-95页 |
7.5.4 布局布线、DRC和网表比较 | 第95-97页 |
第八章 总结与展望 | 第97-99页 |
8.1 论文成果总结 | 第97页 |
8.2 进一步工作的设想 | 第97-99页 |
参考文献 | 第99-101页 |
附录 MCU测试码点程序 | 第101-110页 |