数字后端设计入门:逻辑到物理布局

需积分: 9 3 下载量 124 浏览量 更新于2024-07-15 收藏 2.68MB PDF 举报
本资源是一份名为"Digital VLSI Design: Lecture-6 - Import, Design, and Floorplan"的讲座材料,由Adam Teman教授于2018年创建。该课程针对的是数字后端设计的入门学习者,特别关注芯片设计过程中从逻辑设计向物理实现的过渡阶段。在第六讲中,教授概述了设计流程的下一步: 1. 课程进展:在完成了前端设计过程后,讲座转向后端设计,即从逻辑层面转向物理层面。这意味着学生将开始学习如何用物理方法来实施电路设计。 2. 工具转换:为了开始物理设计,学生们会从使用逻辑设计工具切换到更适合物理布局的工具。这包括确定哪些部分(如IPs、I/Os、电源网格和特殊路径)在实际设计中具有重要性,因为它们会影响到整体性能和效率。 3. 物理基础:制作芯片的物理基础是通过制定一个详细的floorplan(布局图)来实现的。地板计划涉及决定芯片内的组件布局,确保信号的顺畅传输,同时考虑到空间效率、散热需求以及互连的复杂性。 4. 占位与优化:在地板计划阶段,设计师需要考虑芯片内部的拥堵问题,合理安排各个功能模块的位置,以避免信号延迟和功耗过高等问题。这可能涉及到对电路板上的元件进行精确的排列和调整。 5. 版权声明:课程中的部分内容来源于互联网上的公开资源,但可能存在引用错误或遗漏。如果发现有未正确引用或侵犯版权的情况,教授鼓励读者直接联系他进行修正。 本讲座深入浅出地讲解了数字后端设计中的关键步骤,特别是在地板规划阶段如何根据电路的重要性和性能需求进行精细布局。这对于理解现代集成电路设计流程的学生来说,是一项宝贵的学习资料。
2023-06-18 上传

补全以下代码private String cid;// Course id, e.g., CS110. private String name;// Course name, e.g., Introduce to Java Programming. private Integer credit;// Credit of this course private GradingSchema gradingSchema; //Grading schema of this course // enum GradingSchema{FIVE_LEVEL, PASS_FAIL} private Integer capacity;// Course capacity. private Integer leftCapacity;// Course capacity left. You should update the left capacity when enrolling students. private Set<Timeslot> timeslots;// One course may have one or more timeslots. e.g., a lecture in Monday's 10:20-12:10, and a lab in Tuesday's 14:00-15:50. public Course(String cid, String name, Integer credit, GradingSchema gradingSchema, Integer capacity) // constructor public void addTimeslot(Timeslot timeslot) //Record a timeslot for this course private Integer id;// A unique student id, should be an 8-digit integer: Undergraduates' ids should start with 1; Postgraduates' ids should start with 3. e.g., 12213199. private String name;// Student’s name private Map<Course, Grade> courses;// Enrolled courses, using Map structure to store course and its grade as a pair. Grade is an enum type enum Grade{PASS,FAIL,A,B,C,D,F}with an attribute: Double gradePoint protected Student(Integer id, String name) // constructor public abstract boolean canGraduate() // Checks if this student satisfies all the graduating conditions. Hint: you are allowed to change this abstract method into non-abstract to check if the student satisfies the common graduation conditions. public void enroll(Course course) // Tries to enroll the course, do some checks before enrolling. public void recordGrade(Course course, Grade grade)// Records the grade of a course that is current learning. public double getGpa() // Calculates the GPA for this student. public UndergraduateStudent(Integer id, String name)// constructor public boolean canGraduate() //Additional graduating conditions for undergraduate students public PostgraduateStudent(Integer id, String name)// constructor public boolean canGraduate() //Additional graduating conditions for postgraduate students

2023-06-02 上传