Ubuntu环境下高级计算机体系结构后端实验报告
需积分: 0 111 浏览量
更新于2024-08-05
收藏 3.48MB PDF 举报
"该资源是关于高级计算机体系结构的一个大作业,主要涉及计算机硬件设计的后端流程,包括布局、布线和版图等环节。实验在ubuntu20.04 LTS操作系统上进行,使用腾讯云轻量级服务器,采用sky130工艺库,并针对gcd、uart、aes_cipher_top、picorv32四个设计进行了运行。在实验过程中遇到了CMake和编译错误,通过修改源代码和解决Ubuntu系统兼容性问题得以解决。"
在高级计算机体系结构的学习和实践中,后端设计是一个关键环节,它直接影响到芯片的性能和功耗。这个大作业主要涵盖了以下知识点:
1. **实验环境**:实验在Ubuntu 20.04 LTS操作系统和腾讯云轻量级服务器上进行,这提供了稳定的运行平台和足够的计算资源。选择腾讯云服务器可能是为了克服本地环境的限制,如网络下载速度慢和系统兼容性问题。
2. **工艺库**:使用sky130工艺库,这是一个常见的半导体制造工艺,适用于低功耗和高性能的应用场景。
3. **设计运行**:实验设计包括gcd、uart、aes_cipher_top、picorv32四个部分。gcd可能是一个简单的算术运算器,uart是通用异步收发传输器,用于串行通信,aes_cipher_top可能是一个AES加密解密模块,picorv32则是一个RISC-V架构的微处理器。
4. **后端流程**:
- **布局**(Floorplan):确定芯片上的功能模块位置和排列,以优化性能和功耗。
- **Tapcell**:添加测试访问门(Tapcell)是为了方便芯片的测试和调试。
- **PDN (Power Distribution Network)**:设计电源分配网络,确保电路稳定供电,减少噪声。
- **gplace和dplace**:全局放置和细节放置,分别用于粗略和精确地定位逻辑单元。
- **CTS (Clock Tree Synthesis)**:时钟树综合,构建一致的时钟信号分布。
- **Resize**:根据工艺规则调整逻辑门的尺寸。
- **Filler**:填充空隙以避免物理制造过程中的缺陷。
5. **布线**:包括groute和droute,前者是全局布线,后者是详细布线,这两步确保信号在芯片内部的正确传输。
6. **版图**:完成以上步骤后,将形成一个完整的版图,用于指导芯片制造。
7. **更换设计**:实验中尝试了不同的设计,如uart、aes_cipher_top和picorv32,这有助于理解和优化不同类型的硬件设计。
8. **问题与解决**:实验过程中遇到的CMake错误(SWIG版本问题)和编译错误(找不到aux.h头文件),通过修改CMake文件和查找并修复系统bug得到解决。
这个大作业全面展示了计算机硬件设计的复杂性和挑战,同时也强调了解决实际问题和适应不同环境的能力。通过这样的实践,学生能深入理解计算机体系结构的后端实现,提升硬件设计和调试技能。
2018-07-16 上传
2019-01-13 上传
2019-01-13 上传
2021-01-06 上传
2023-05-25 上传
2018-11-06 上传
2024-04-29 上传
2021-01-08 上传
2019-01-15 上传
咖啡碎冰冰
- 粉丝: 18
- 资源: 292
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍