The Elements of Computing Systems阅读笔记(3)

接着上一篇博客。
HDL定义的芯片(这里的“芯片”与市场上常见的复杂芯片无关,主要指各种门搭起来的电路)包含了两个部分,header和parts部分。header定义了芯片的接口(interface,我理解成输入输出),包括芯片名称、输入接口和输出接口。parts部分描述了芯片内部的更低一层次的元件(例如更低层次的芯片或门),记录了这些元件名字和各个部分的连接状况。每个元件都会有一个声明(statement)来描述它自己的名字和与其他元件的连接情况。要注意的是,在写元件的声明之前要先定义好这个元件的接口(例如输入接口和输出接口等,就好像C语言里的调用变量之前必须声明这个变量一样)。
元件之间的连接要用HDL来声明内部引脚,并通过声明的内部引脚进行连接。例如Not(…, out=nota)和And(a=nota,…),就是创建了一个名为nota的内部引脚,并将非门的输出接口连到这个nota上,最后将nota连接到与门的a输入接口上(Not和And括号内左边是输入,右边是输出)。注意数据可以同时输出到多个引脚上(脑补成硬件,HDL只是描述硬件用的,不像其他软件编程语言)。例如下面的输入a和b就被同时输入到两个门的输入引脚。
异或门例子
上面的图的左边是HDL程序,中间

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在计算机科学的早期,硬件,软件,编译器和操作系统的交互非常简单,使学生能够全面了解计算机的工作原理。随着计算机技术的日益复杂化以及由此产生的知识专业化,这种清晰度常常会丢失。与仅涉及该领域的一个方面的其他文本不同,计算系统的要素为学生提供了应用计算机科学的综合和严谨的图像,因为它在构建简单但功能强大的计算机系统中发挥作用。 实际上,理解计算机如何工作的最好方法是从头开始构建一个,这本教科书引导学生完成十二章和逐步构建基本硬件平台和现代软件层次结构的项目。在此过程中,学生将获得有关硬件架构,操作系统,编程语言,编译器,数据结构,算法和软件工程的实践知识。使用这种建设性的方法,本书展示了大量的计算机科学知识,并演示了其他课程中教授的理论和应用技术如何适合整体情况。 本书旨在支持一学期或两学期的课程,基于抽象 - 实施范式; 每一章都提供了一个关键的硬件或软件抽象,一个具体的提议实现,以及一个实际的项目。新兴的计算机系统可以按照章节来构建,尽管这只是一个选项,因为项目是自包含的,可以按任何顺序完成或跳过。完成项目所需的所有计算机科学知识都嵌入在书中,唯一的先决条件是编程经验。 本书的网站提供了构建文中描述的所有硬件和软件系统所需的所有工具和材料,包括12个项目的200个测试程序。可以修改项目和系统以满足各种教学需求,并且所有提供的软件都是开源的

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值