Nand
1.boolean logic
常用的boolean logic有AND OR NOT,其性质如下

事实上,可用AND和NOT来表示OR
x or y = NOT(NOT(x) AND NOT(y))
但没法只用AND或NOT,于是出来了NAND,x NAND y = NOT(x AND y),其真值表如下

于是可以用NAND表示AND和NOT
NOT(x) = x NAND x
x AND y = NOT(x NAND y)
2. HDL逻辑门接口

3.HDL实现
1)Mux4Way16
/**
* 4-way 16-bit multiplexor:
* out = a if sel == 00
* b if sel == 01
* c if sel == 10
* d if sel == 11
*/
自己做的时候超级傻逼。我就想啊,首先用 And(a = sel[0],b = sel[1],out = outd);这样就能通过outd是否为1判断是否选择d,然后把16个元素依次通过And(a = d[0],b = outd,out = out4[0])得到4个长度为16的输出,再把他们相加就得到了最后的输出,超级麻烦超级傻逼。
然后偷偷瞄了下答案,真是哭了,充分利用二进制的结构特性,先看sel[0]来决定用a还是b 或者 c还是d 得到两个备选,再看sel[1]来决定用最后输出,就两行,真是惊呆...
CHIP Mux4Way16 {
], b[], c[], d[], sel[];
];
PARTS:
// Put your code here:
Mux16(a = a,b = b,sel = sel[],out = out1);
Mux16(a = c,b = d,sel = sel[],out = out2);
Mux16(a = out1,b = out2,sel = sel[],out = out);
}
2)DMux4Way
哈哈这个题做得好搞,完全不动脑型,把Mux的思路逆着来就行
CHIP DMux4Way {
];
OUT a, b, c, d;
PARTS:
// Put your code here:
DMux(],a = out1,b = out2);
DMux(],a = a,b = b);
DMux(],a = c,b = d);
}
Nand的更多相关文章
- BZOJ2908: 又是nand
Description 首先知道A nand B=not(A and B) (运算操作限制了数位位数为K)比如2 nand 3,K=3,则2 nand 3=not (2 and 3)=not 2=5. ...
- 嵌入式Linux驱动学习之路(二十三)NAND FLASH驱动程序
NAND FLASH是一个存储芯片. 在芯片上的DATA0-DATA7上既能传输数据也能传输地址. 当ALE为高电平时传输的是地址. 当CLE为高电平时传输的是命令. 当ALE和CLE都为低电平时传输 ...
- (一)Nand FLASH 原理讲解
NAND FLASH 优势 : 可以用当硬盘 这里好像型号是 K9F2G08 基本结构: 不是很难自己看看,暂时不要看
- NAND flash sub-pages
http://www.linux-mtd.infradead.org/doc/ubi.html#L_subpage NAND flash sub-pages As it is said here, a ...
- Nand Flash,Nor Flash,CFI Flash,SPI Flash 之间的关系
前言: 在嵌入式开发中,如uboot的移植,kernel的移植都需要对Flash 有基本的了解.下面细说一下标题中的中Flash中的关系 一,Flash的内存存储结构 flash按照内部存 ...
- 硬件初始化,nand flash固化操作,系统启动简单流程
2015.3.27星期五 晴 链接脚本定义代码的排放顺序 硬件系统初始化:一:arm核初始化:(里面有指令)初始化ARM核的时候需要看arm核的手册指令:1.异常向量(最起码有个复位异常,初始化模式- ...
- 第8章 NAND FLASH控制器
8.1 NAND Flash介绍和NAND Flash控制器使用 NAND Flash在嵌入式系统中的地位与PC上的硬盘类似 NAND Flash在掉电后仍可保存 8.1.1 Flash介绍 有NOR ...
- RAM,SRAM,DRAM,SDRAM,DDR RAM,ROM,PROM,EPROM,EEPROM,NAND FLASH,NOR FLASH的区别
RAM:由字面意思就可以理解,SDRAM SRAM DRAM(下面蓝色字体的这几种)都可以统称RAM,random access memory(随机存取存储器)的缩写,下面是51hei.com为大家整 ...
- nand以及yaffs2
用的是tiny210+1312的SDK,友善之臂给的文件系统居然有300多兆,烧写系统可是要人命了,那个等啊...所以,想着把系统给做小一点.和其他一样,我的知识仅限于理论阶段,嘿嘿.今天实践一下. ...
- s3c2440 移值u-boot-2016.03 第4篇 支持NAND flash 识别
1, /include/configs/smdk2440.h 中添加 #define CONFIG_CMD_NAND 编译 drivers/mtd/nand/built-in.o: In functi ...
随机推荐
- pom大全
springboot集合 父模块 <parent> <groupId>org.springframework.boot</groupId> <artifact ...
- springboot下整合redis使用redisTemplate模板
pom <!-- 引入 redis 依赖 --> <dependency> <groupId>org.springframework.boot</groupI ...
- samba服务器之无认证进入共享目录
修改设备中的/log/samba/lib/smb.conf文件 security = share [web] ...
- Java 微信公众号导出所有粉丝(openId)
由于公众号换了公司主体,需要做迁移,玩家的openId数据需要做处理. (我是按我要的json格式,将粉丝导成了1万条数据的一个json文件) 文件格式: { "info":[ { ...
- SpringMVC+Shiro不拦截静态资源配置
最近在弄SpringMVC与Shiro整合,发现如果将DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题.如果DispatcherServlet改为拦截“/” ...
- Hadoop记录-监控几个思路
1.存活监控 基本监控,主要对进程的存活.端口连通性.url可检测性等指标进行监控. 2.2 可用性监控 主要指对用户而言是否可用,能否返回预期结果,通常部署在一些业务主流程或一些关键环节,如接口调用 ...
- jQuery克隆html元素并改变id
如题,前端操作经常需要ajax异步刷新html页面数据.有时候js里面拼接html代码很麻烦. 因此选择一个div克隆并改变一些值就省了很多事.这个div也可以提前写在html里面hide() 下面是 ...
- Jmeter测试报告生成
Jmeter测试报告生成 本文使用的 Jmeter 版本为 apache-jmeter-3.2 1. 命令行模式将 jtl 文件转成测试图表 注意: 这种方式只适用于jmeter3.0以后的版本 1. ...
- vue常用指令
1.v-if系列 v-if="数据|判断" 只要条件成立,就显示if中的元素 v-else (注意:必须跟在v-if或者v-if-else的后面,不然失效) 如果if条件不成立显示 ...
- 细说shiro之自定义filter
写在前面 我们知道,shiro框架在Java Web应用中使用时,本质上是通过filter方式集成的. 也就是说,它是遵循过滤器链规则的:filter的执行顺序与在web.xml中定义的顺序一致,如下 ...