【问题标题】:The logic of designing a HDL parts from the beginning : DM从一开始就设计 HDL 零件的逻辑:DM
【发布时间】:2021-01-13 10:00:58
【问题描述】:

我正在学习 nand2tetris coursera 课程。 我试图了解你们如何设计寻找 HDL 核心部件的潜在心理过程。 例如,让我们以 DMUX4way 为例。 实现零件的完整心理过程是什么?看到结果我就明白背后的逻辑,但我很难自己找出 谢谢

    * {a,b,c,d} = {in,0,0,0} if sel==00
     *             {0,in,0,0} if sel==01
     *             {0,0,in,0} if sel==10
     *             {0,0,0,in} if sel==11
     */
    
    CHIP DMux4Way {
        IN in, sel[2];
        OUT a, b, c, d;
    
        PARTS:
        DMux(in=in,sel=sel[1],a=ao,b=bo);
        DMux(in=ao,sel=sel[0],a=a,b=b);
        DMux(in=bo,sel=sel[0],a=c,b=d);
}

【问题讨论】:

标签: hdl nand2tetris


【解决方案1】:

我发现它有助于分解事物,在复杂的情况下,写下各种信号(包括中间信号)的真值表。有时这会导致“啊哈”时刻,您会看到可以用来简化事情的联系。

您还可能会发现绘制一张图来绘制通过电路的信号流图很有帮助。

最后,“首先让它发挥作用,然后让它变得漂亮”的格言适用。一旦你有一些工作,你可以查看设计并找到简化和优化。一个很好的例子是构建 XOR 电路。一旦你有了简单的版本,如果你仔细观察,你会发现巧妙的优化。

我想这只是你必须练习直到掌握诀窍的事情之一。您可能会发现重新审视早期的项目以使它们更清晰、更易于 理解是很有用的。通常有几种方法可以构建所需的电路,但有些方法对您来说可能更容易理解。另外,我建议您养成评论您的设计的习惯;提醒您做某事时的想法会很有帮助。

【讨论】:

    猜你喜欢
    • 2021-01-20
    • 1970-01-01
    • 2010-09-16
    • 2022-12-25
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多