Digital Systems: From Logic Gates to Processors

所在平台: Coursera

课程主页: https://www.coursera.org/learn/digital-systems

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:数字系统:从逻辑门到处理器 概述:本课程从实用的角度全面深入地探讨现代数字系统的设计原理。与其他更“经典”的数字电路课程不同,本课程更加关注系统本身,而非支撑它的电子元件。这种方法将为复杂数字系统的设计奠定基础。您将学习一系列设计方法,并利用一组教育导向的计算机辅助设计工具(CAD),不仅能够设计中小型电路,还能进入更高层次的课程,涵盖如特定应用集成电路(ASIC)设计和计算机架构等引人入胜的主题。 课程内容以设计一个简单的处理器为例,作为复杂数字系统的横向示例。这将帮助您理解一些基本的计算机架构术语,如指令集、微程序和微指令。 完成本课程后,您将能够: - 设计中等复杂度的数字系统。 - 理解使用高级语言(如 VHDL)描述数字系统。 - 理解计算机在其最基本层面(机器语言)上的工作原理。 课程大纲概览: 1. 课程准备信息:介绍课程运行及需安装的虚拟机以便回答测验。 2. 知识回顾:通过测试检查您对数制和伪代码描述算法的了解程度。 3. 数字系统概述:介绍数字系统的基本概念,包含视频和练习。 4. 组合电路(I):介绍组合电路、逻辑门和布尔代数,为设计简单的组合电路奠定基础。 5. VerilUOC_Desktop工具:学习如何使用CAD工具来解决练习题。 6. 组合电路(II):深入研究组合电路设计技术及算法描述的直接综合。 7. 算法组件与VHDL简介:探讨基本算术操作的实现及VHDL的基础知识。 8. 时序电路(I):数字系统中的时序电路基础知识。 9. 时序电路(II):关于寄存器、计数器和存储块的进一步学习。 10. 时序电路 III 与有限状态机:探讨算法与时序电路的关系及有限状态机的定义与建模。 11. 数字系统的实现:介绍制造技术、实现策略及合成与实现工具。 12. 课程总结与告别:回顾课程内容与学习成果。 通过本课程的学习,学员将掌握数字系统设计的核心理念,并能够应用于实际案例中。

课程大纲

Name:All you need to know to start the course

Description:This module is includes a number of general explanations about how the course will run and about the virtual machine you should install on your computer to answer the different quizzes.

Name:Previous knowledge: A review

Description:This module presents a series of tests you can use to check your level of knowledge about numbering systems and the use of pseudocode to describe algorithms.

Name:What Digital Systems are?

Description:Click on "v More" to read the purpose of this module

This module is an introduction to Digital Systems. Here you will find:

  1. A set of videos_L covering issue 1 and the corresponding exercises,
  2. Two videos_P introducing the processor that we will design along the course, and
  3. Some video-based explanations; a wiki and some FAQs about how VerilUOC_Desktop tool functions.
    You will have to use VerilUOC_Desktop in the next module
Read the "Lesson Index" in the "Index and PDF files" section and the "README" in the VerilUOC_Desktop section for more information.

Name:Combinational Circuits (I)

Description:Click on "v More" to read the purpose of this module

This module introduces combinational circuits, logic gates and boolean algebra, all of them items necessary to design simple combinational circuits.
Read the "Index of lessons" for more information.

To solve the exercises in this module you will need to use VerilUOC_Desktop. Look at the module "VerilUOC_Desktop tools" to learn how to use it.

Name:VerilUOC_Desktop tools

Description:Click on "v More" to read the purpose of this module

From this module you will need to use VerilUOC_Desktop to do some of the exercises in the quizzes. VerilUOC_Desktop is a software package based on Logisim, enhanced with a number of modules to enable:

  • Enter Boolean equations (BoolMin),
  • Enter digital circuits and check them according the problem statement (VerilCirc), and
  • Enter chronograms (time-charts) and check that they are correct (VerilChart).
This section contains two videos explaining how these three tools work. By now you only need to use VerilCirc and BoolMin, so if you are pushed for time, you might postpone VerilChart for later. Obviously, it is impossible to cover in these two videos all eventualities you can find while working with VerilUOC_Desktop tools. In case of doubt, look at the VerilUOC_Desktop wiki, look at the FAQs or post your problems in the forums. There are specific forums for VerilCirc, BoolMin and VerilChart.

Name:Combinational circuits (II)

Description:Click on "v More" to read the purpose of this module

We continue the study of combinational circuits. While in the previous module we were working on the classical design techniques of combinational circuits, this one is focused on other issues such as a brief introduction to computer aided design tools (CAD tools), or the direct synthesis of combinational circuits from its algorithmic description.
Read the "Lesson index" for more information.

To solve the exercises in this module VerilUOC_Desktop is needed. Remember that the module "VerilUOC_Desktop tols" contains all the information you need about this tool.

Name:Arithmetic components + Introduction to VHDL

Description:Click on "v More" to read the purpose of this module

Arithmetic circuits are an essential part of many digital circuits and thus deserve a particular treatment.

  • The first part of this module presents some implementations of the basic arithmetic operations. Only operations with naturals (non-negative integers) are considered.
  • The second part of this module introduces the basics of VHDL with the goal of providing enough knowledge to understand its usage throughout this course and start developing basic hardware models.

Name:Sequential circuits (I)

Description:Click on "v More" to read the purpose of this module

This is the first module dedicated to Sequential Circuits (Digital Systems with Memory).
To solve the quizzes you will need VerilUOC_Desktop.

Name:Sequential circuits (II)

Description:Click on "v More" to read the purpose of this module

This second module dedicated to Sequential Circuits deals with particular sequential circuits that are building blocks of larger circuits, namely registers, counters and memory blocks.

Name:Sequential circuits III and Finite State Machines

Description:Click on "v More" to read the purpose of this module

This module deals with two topics:

  1. In previous lessons, the relation between algorithms (programming language structures) and combinational circuits has been commented. This relation also exists between algorithms and sequential circuits. We will explore this relation in the current module.
  2. The second topic we will see is the definition and VHDL modelling of Finite State Machines.

Name:Implementation of digital systems

Description:Click on "v More" to read the purpose of this module

This last module presents some basic information about manufacturing technologies, as well as about implementation strategies, and synthesis and implementation tools.

Name:COURSE SUMMARY AND FAREWELL

Description:´´

课程评论(0条)

课程详情

This course gives you a complete insight into the modern design of digital systems fundamentals from an eminently practical point of view. Unlike other more "classic" digital circuits courses, our interest focuses more on the system than on the electronics that support it. This approach will allow us to lay the foundation for the design of complex digital systems. You will learn a set of design methodologies and will use a set of (educational-oriented) computer-aided-design tools (CAD) that will allow you not only to design small and medium size circuits, but also to access to higher level courses covering so exciting topics as application specific integrated circuits (ASICs) design or computer architecture, to give just two examples. Course topics are complemented with the design of a simple processor, introduced as a transversal example of a complex digital system. This example will let you understand and feel comfortable with some fundamental computer architecture terms as the instruction set, microprograms and microinstructions. After completing this course you will be able to: * Design medium complexity digital systems. * Understand the description of digital systems using high-level languages such as VHDL. * Understand how computers operate at their most basic level (machine language).

课程标签

0人关注该课程

主题相关的课程