- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我被要求用半 HDL 语言实现逻辑门作为练习。问题是我对实现缺乏直觉,看不到将真值表“转变”为逻辑门的方法或算法,即使是更简单的方法或算法(如异或);如何将一个运算符“转变”为多个逻辑门的形式?到目前为止,这个练习感觉就像“尝试逻辑门的所有可能组合”,我想它不应该是这样的。
最佳答案
由于原始问题被标记为 nand2tetris我认为应该有一个不同的答案。
如果您正在处理 the book或the coursera course ,那么您应该已经拥有可用于自行解决此问题的信息。然而,我也为此苦苦挣扎,因为这对我来说是新的,所以也许我理解你正在经历的事情并且可以提供帮助。 coursera 类(class)应该涵盖 Week 1 中 Xor 的实现。这本书在 Chapter 1 中介绍了 Xor。 。我将在这里阐述我对这本书解释的理解。
The authors have asked folks not to provide answers to the problems on the internet. However, the answer for Xor is worked through and provided by the authors in the book, you can find it on page 16. Given this, I'm going to go ahead and provide my own explanation here.
为了实现 Xor,您需要了解作者所说的以下内容:
因此,如果您尝试实现 bool 逻辑门(如异或),您可以通过写下其真值表,写下该真值表的规范表示,然后实现 bool 逻辑门来实现在 HDL 中使用规范表示指定的 And、Or 和 Not 门的组合。
以下是 Xor 的工作原理:
a b out
0 0 | 0
0 1 | 1
1 0 | 1
1 1 | 0
(!a && b) || (a && !b)
CHIP Xor {
IN a, b;
OUT out;
PARTS:
// !a && b
Not(in=a, out=nota);
And(a=nota, b=b, out=lhs);
// a && !b
Not(in=b, out=notb);
And(a=a, b=notb, out=rhs);
// (!a && b) || (a && !b)
Or(a=lhs, b=rhs, out=out);
}
就是这样。
具体来说,我认为您可能需要学习自己解决这个问题的技术是如何写下真值表的规范表示。因此,尝试找出我是如何得到的从步骤 1 到步骤 2,如果您有疑问,请在此处提问。请记住,这本书和 coursera 类(class)都详细介绍了如何执行此操作,并且我引用了上面书中最相关的部分。
我希望这能带来您正在寻找的直觉。祝你好运。
关于cpu-architecture - 实现逻辑门的直觉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63694800/
发自 csexchange : 我见过的大多数模拟退火版本的实现类似于下面维基百科伪代码中概述的内容: Let s = s0 For k = 0 through kmax (exclusive):
我得到了这段代码用于分析: private String type[] = {"Hearts","Spades","Clubs","Diamonds"}; private String rank[]
我对机器学习算法和 Spark 非常陌生。我遵循Twitter 流语言分类器在这里找到: http://databricks.gitbooks.io/databricks-spark-referenc
直观的逻辑,具有 build 性,是函数式编程中类型系统的基础。经典逻辑不是 build 性的,尤其是排中律 A ∨ ¬A(或其等价物,例如 double negation elimination 或
我是一名优秀的程序员,十分优秀!