14、P1 W2 U2.5 作业2 讲解

作者: shazizm | 来源:发表于2019-07-30 16:03 被阅读0次

    视频:
    如果本次课程对应的 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 硬件模拟器 进行测试。这里就贴一张图

    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,否则就会默认使用内建的逻辑门。


    最佳实践

    相关文章

      网友评论

        本文标题:14、P1 W2 U2.5 作业2 讲解

        本文链接:https://www.haomeiwen.com/subject/vtpnrctx.html