Ubuntu环境下高级计算机体系结构后端实验报告

需积分: 0 4 下载量 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得到解决。 这个大作业全面展示了计算机硬件设计的复杂性和挑战,同时也强调了解决实际问题和适应不同环境的能力。通过这样的实践,学生能深入理解计算机体系结构的后端实现,提升硬件设计和调试技能。