视频:
如果本次课程对应的 Coursera 的视频打不开,可以点击下面链接
P1W2U2.5 - Project 2 Overview
软件:
全课程所需软件项目包官方下载:
https://www.nand2tetris.org/software
备了一份软件项目包放在CSDN了,版本2.6支持Mac、Linux、Windows:
https://download.csdn.net/download/shazizm/11268147
本周作业如下图
已知:上周完成的逻辑门
求:
HalfAdder
FullAdder
Add16
Inc16(自加1)
ALU
完成作业的方法,依然采取 上周总结的方法步骤。
1、真值表
2、布尔函数
3、HDL
4、测试
PS:第一周作业详情说了如何用 Hardware Simulator 硬件模拟器 进行测试。这里就贴一张图
一、HalfAdder (半加器)
已知下图:
完成 HalfAdder.hdl
提示:可以用两个基础逻辑门组成
二、FullAdder(带进位 全加器)
已知下图:
完成 FullAdder.hdl
提示:可以用两个半加器组成
三、Add16
已知下图:
完成 Add16.hdl
貌似很简单,这个参考 And16,Or16 之类的,就是考虑一下进位怎么搞。
提示:可以由16个全加器组成。进位可以一个接一个。最后的进位忽略。
四、Inc16
已知下图:
完成 Inc16.hdl
注:这个本周貌似没有提到,应该是 一个 16bit的二进制数,加1。
提示:在HDL里 1位的0 或 1位的1,可以对应用 false 和 true 来代替。最后的进位忽略
五、ALU
已知下图:
完成 ALU.hdl
提示:会用到Add16和第一周做的逻辑门组成。HDL的代码可以少于20行。
上周作业提到最佳实践,这周再增加一个:
你可以使用第一周自己做的逻辑门,但是我们建议你比如在第二周里先用内建的第一周的逻辑门,这样方便确认错误到底是因为第一周的设计引起的,还是第二周的错误引起的。
另外,如何在第二周使用第一周自己设计的逻辑门?
只需要将第一周写好的.hdl文件拷贝到第二周作业的文件夹下,硬件模拟器就会自动选用我们自己写好的.hdl,否则就会默认使用内建的逻辑门。
最佳实践
网友评论