FPGA小例子
AND ---与门;OR --- 或门;INV --- 非门;NAND --- 与非门;NOR --- 或非门;XOR --- 异或门;XNOR ---同或门;MUX --- 数据选择器;
1.使用一个inv和一个二选一mux实现 异或。

module xor_rill (
input a,
input b, output z
); assign z = a?(~b):b; endmodule
2. 三态门(常用于inout端口)。

3. 用波形表示D触发器的功能

4. 亚稳态
4.1 何为亚稳态

(1)在时钟上升沿时,D在发生变化,如果D input输出为1则
;
(2)在时钟上升沿时,D在发生变化,如果D input输出为0则
;
(3)在时钟上升沿时,D在发生变化,在中间思考跳转很久,但不知道Dinput跳到0还是1(此状态出现概率非常低,但会出现)到下一个时钟还没有思考好是0还是1,没有出现稳定状态,这就是亚稳态
;
4.2 危害 :会导致挂死,除了复位,完全不能工作。
4.3 什么时候会出现
(1)时序不满足

(2)异步接口或跨时钟域信号

4.4如何解决
(1)单比特信号

(2)多比特信号

(3)多比特,但数据流小,用fifo不划算,使用使能信号

5. 用逻辑门和CMOS电路实现 ab + cd
(1)首先给出CMOS构成的与非门电路

(2)用与非门实现逻辑ab+cd

这里化简的时候用到了反演律~(a&b) = ~a | ~b;
6. 给了reg的setup,hold时间,求中间组合逻辑的delay范围
假设时钟周期为period,则:
Delay < period - setup – hold
7. 用 D 触发器实现 2 倍分频的逻辑电路

8.用D触发器做个4进制的计数器

9.请画出微机接口电路中,典型的输入设备与微机接口逻辑示意图 (数据接口、控制接口、锁存器 /缓冲器)

10. 时钟周期为 T,触发器 D1 的建立时间最大为 T1max,最小为 T1min。组合逻 辑电路最大延迟为 T2max,最小为 T2min。问,触发器 D2 的建立时间 T3 和保 持时间 T4 应满足什么条件


11. 给出某个一般时序电路的图,有 Tsetup、Tdelay、 Tck->q,还有 clock 的 delay, 写出决定最大时钟的因素,同时给出表达式
T+Tclkdealy>Tsetup+Tco+Tdelay ;
12. 画出 CMOS 电路的晶体管级电路图,实现 Y=A*B+C(D+E)

带入非门和与非门:

13. 利用 4 选 1 数据选择器实现 F(x,y,z)=xz+yz’

14. 用逻辑门画出 D 触发器

15. A、 B、C、 D、E 进行投票,多数服从少数,输出是 F(也就是如果 A、B 、C、D 、E 中 1 的个数比 0 多,那么 F 输出为 1 ,否则 F 为 0) ,用与非门实现,输入 数目没有限制
记 A 赞成时 A=1,反对时 A=0 ;B 赞成时 A=1,反对时 B=0 ;C、 D、E 亦 是如此。由于共 5 人投票且少数服从多数,因此只要有三人投赞成票即可,其他人的投票结果并不需要考虑。基于以上分析,下图给出用与非门实现的电路:

16. 实现 N 位 Johnson Counter,N=5

FPGA小例子的更多相关文章
- springmvc入门的第一个小例子
今天我们探讨一下springmvc,由于是初学,所以简单的了解一下 springmvc的流程,后续会持续更新... 由一个小例子来简单的了解一下 springmvc springmvc是spring框 ...
- java即时通信小例子
学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...
- Runtime的几个小例子(含Demo)
一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.) 1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数); [runti ...
- bootstrap 模态 modal 小例子
bootstrap 模态 modal 小例子 <html> <head> <meta charset="utf-8" /> <title ...
- INI配置文件分析小例子
随手写个解析INI配置字符串的小例子 带测试 #include <iostream> #include <map> #include <string> #inclu ...
- JavaScript小例子:复选框全选
JavaScript小例子:复选框全选 这只是一个小例子,很简单,但是这个功能还是很常用的: 实现后效果如图: JavaScript代码: <script type="text/jav ...
- 【zTree】 zTree使用的 小例子
使用zTree树不是第一次了 但是 还是翻阅着之前做的 对照着 使用起来比较方便 这里就把小例子列出来 总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先 在 ...
- js小例子(标签页)
运用js写的一个小例子,实现点击不同的标签出现不同的内容: <!DOCTYPE html> <html> <head> <meta chaset=" ...
- sbrk与brk的使用小例子
sbrk() 和 brk() - Unix的系统函数 sbrk()和brk() 系统的底层会维护一个位置,通过位置的移动完成内存的分配和回收.映射内存时 以一个内存页作为基本单位. void* ...
随机推荐
- jsp 部署
部署一个Servlet 3.0应用程序是一件轻而易举的 事.通过Servlet注解类型,对于不太复杂的应用程序, 可以部署没有描述符的Servlet/JSP应用程序.尽管如 此,在需要更加精细配置的情 ...
- linux基础命令学习笔记(一)
2019年4月1日: “目录” = “文件夹” 常用命令(一): 1.ls: list 列表,默认当前文件夹的文件和目录 linux:命令+选项+参数 ls -l:长输出,列出文件的详细信息 - rw ...
- 在vue2中隐藏elementUI的tab栏
<template> <el-tabs v-model="activeName" @tab-click="handleClick" ref=& ...
- java日志规约及配置示例终极总结
目录 什么是日志 常用日志框架 日志级别详解 日志的记录时机 日志使用规约 logback 配置示例 loh4j2 配置示例 什么是日志? 简单的说,日志就是记录程序的运行轨迹,方便查找关键信息,也方 ...
- Android Studio 常用快捷键及常用设置
Android Studio 常用快捷键及常用设置 一.常用快捷键 快捷键 描述 Ctrl + Alt + L 格式化代码 Ctrl + ( +/- ) 展开/折叠 代码块 Ctrl + Shift ...
- C语言面对对象设计模式汇编
面向对象发展到今天,已经出现了许许多多优秀的实践.方法和技术.很多的技术都能够有效的提高软件质量.IBM上的<面向对象软件开发和过程>系列文章对面对对象设计从如下层面进行了详细的介绍:代码 ...
- 使用Callable接口创建线程和使用线程池的方式创建线程
1.使用Callable接口的方式实现多线程,这是JDK5.0新增的一种创建多线程的方法 package com.baozi.java2; import java.util.concurrent.Ca ...
- 【C语言程序】输出前50个素数
#include <stdio.h> #include <stdlib.h> int main(void) { ; ; ){ ; ;i<x;i++){ ...
- JS基础学习2
1.CMAScript 运算符 算数运算符 递增(++).递减(--) var i=15; console.log(i++); console.log(i); var i1=15; console.l ...
- vue2 里边使用 swiper2
找过了很多轮播图插件,我都不会用,还是回到swiper2吧... npm install swiper@2.7.6 --save-dev 封装成一个组件 <template> <di ...