首页 > 其他分享 >nand2tetris_选择器和分配器

nand2tetris_选择器和分配器

时间:2024-03-10 19:44:44浏览次数:32  
标签:化简 函数 真值表 分配器 nand2tetris sel 选择器 布尔

布尔函数

基础布尔运算符

And Or Not

布尔函数


布尔函数类比数学里的方程,可以认为自变量的取值只有0和1两种,也就是说,布尔函数是可以枚举的,即真值表。布尔函数(可能需要化简)可以认为是等价于真值表。更多时候,往往需要从真值表(结果,或者说需求)推导出布尔函数,再化简设计出最优电路

函数推导


思路是,找到真值表中结果为1的进行组合。因为子项是与的关系,所以只会有这一条满足需求;又因为不同子项是或的关系,保证了只有这几条是1,其余都是0

化简公式


这里更多是一些基本运算规则,我想若真正实现化简,还是需要有对真值表足够的观察,排除掉一些干扰项(下面复用器例子里可以看到)。这里贴一下课堂上老师给的例子,至写文的现在,我还没有看懂,当然 我也不准备看懂了

选择器

这很像我们的if else分支判断

如果根据上文推导方法,我们很容易得出一个较长的函数

(a And Not(b) And Not(sel)) Or (a And b) Or (Not(a) And b And sel)

标准实现是这样的

(a And Not(sel)) Or (b And sel)

恕我愚钝,我实在是不知道怎么能化简成这样的。也许有方法,但是这里如果认真观察真值表,out依赖sel的值,sel的值决定选择a还是b。那么sel=0的时候考虑a就好 a And Not(sel);同理sel=1的时候考虑b就好;然后两种情况相加,也就是Or

分配器


这里实现就很简单了,因为输出是分为了a和b两个变量

a = in And Not(sel)
b = in And sel

网络通信中的应用


这张图理解老师想表达的意思就好,大概是信道的复用与解复用。我感觉这里画的并不好,很容易迷惑sel状态的影响,贴一下论坛里用户的咨询

总结

周五听说了这门课,周六就迫不及待听了前两个章节,这里必须要夸一下Coursera可以旁听课程!课程给我的期望值很高,从零实现一个电脑啊,这哪个程序员能抵抗住!!布尔函数这章已经有了基本的逻辑门,加油 加油。

Coursera课程页
作者网站

标签:化简,函数,真值表,分配器,nand2tetris,sel,选择器,布尔
From: https://www.cnblogs.com/snowsteps/p/18064654

相关文章

  • 02选择器
    1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8">5<metaname="viewport"content="width=device-width,initial-scale=1.0">6<title>Document......
  • k8s标签的增删改查和选择器
    在Kubernetes(K8s)中,标签(Label)是与资源对象相关联的键值对,用于实现多维度的资源分组管理功能。下面是关于Kubernetes标签的增删改查操作的简要说明:查询标签(查)要查看资源对象的标签,可以使用kubectlget命令并加上--show-labels选项。例如,要查看所有节点的标签,可以运行:......
  • 在K8S中,"节点亲和性"和"节点选择器"的区别在哪里?
    在Kubernetes(K8s)中,“节点选择器”(NodeSelector)和“节点亲和性”(NodeAffinity)都是用来指导Pod调度到合适节点的机制,但它们在功能和灵活性上有一定的区别:节点选择器(NodeSelector):是较早且较为基础的一种调度策略,用于简单匹配节点的标签(labels)。当在Pod的规范中定义了节点选择......
  • 爬虫之css选择器
    用soup.select方法#panel节点内部的panel—heading节点print(soup.select('.panel.panel-heading'))#ul里面的liprint(soup.select('ulli'))#id为list-2的内部element节点print(soup.select('#list-2.element'))p......
  • element-ui级联选择器获取label值
    element-ui的级联选择器默认获得的是value的数值,获取label的值需要使用getCheckedNodes这个方法。我使用级联选择器用于进行地区的选择,如下:template内:<el-cascaderv-model="regionCodeList"ref="city"placeholder="请选择生产地区"clearable:props="props"@change="......
  • :is :not :has :where 选择器优先级
    idclass:require:nth-of-type:root:hover:focus...[type=text]p::before::placeholder两个字符:::where+,>,~,"",and||:is():not():has()已括号里最大的为准特殊性练习https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity#how_is_spe......
  • bs4 css选择器
    数据准备html_doc="""<html><head><title>TheDormouse'sstory</title></head><body><pid="my_p"class="title"><bid="bbb"class="boldest">TheDormou......
  • Nand2tetris Part1 lab04-lab06
    概述在前三个lab中,我们构建了hack计算机所需要的基础的芯片。后三个lab则是教我们如何使用这些芯片去搭建一个hack计算机并且使用汇编语言。Week04&Week05把这两个lab放在一起是因为他们给我的感觉更像是知识的互补。lab05教会你汇编语言的规范是什么,lab06则是......
  • Func<T, object> 选择器使用
    感觉有点类似于委托,在一开始先绑定,到后面使用LINQ语句时再触发(不知道是不是这样,先记录一下) publicstaticvoidMain(){List<int>numbers=newList<int>(){10,20,30,40,50};//创建一个Func<T,object>来获取大于20的元素......
  • 层次选择器
    后代选择器:空格bodyp{background-color:red;}子选择器:>body>p{background-color:red;}相邻兄弟选择器(向下选择一个):+.active+p{background-color:red;}通用选择器(向下选择多个):~.active~p{background-color:red;}基础代码:<!DOC......