Skip to main content

moregeek program

fpga:逻辑运算及逻辑门-多极客编程

逻辑变量与逻辑函数

逻辑是指事物因果之间所遵循的规律。为了避免用冗繁的文字来描述逻辑问题,逻辑代数采用逻辑变量和一套运算符组成逻辑函数表达式来描述事物的因果关系。

逻辑代数中的变量称为逻辑变量,一般用大写字母A、B、C…表示。逻辑变量的取值只有两种,即逻辑0和逻辑1。 0和1称为逻辑常量。这里0和1本身并没有数值意义,它仅仅是一种符号,代表事物矛盾双方的两种状态。

数字电路的输出与输入之间的关系是一种因果关系, 因此它可以用逻辑函数来描述,并称为逻辑电路。

对于任何一个电路,若输入逻辑变量A、 B、 C … 的取值确定后,其输出逻辑变量L的值也被唯一地确定了,则可以称L是A、 B、 C … 的逻辑函数, 并记为

FPGA:逻辑运算及逻辑门_逻辑表达式

逻辑运算

当0和1表示逻辑状态时,两个二进制数码按照某种特定的因果关系进行的运算。

基本逻辑运算及对应的逻辑门

在逻辑代数中,有与、或、非三种基本的逻辑运算。还有 与非、或非、同或、异或等常用的复合逻辑运算。

逻辑运算的描述方式:逻辑代数表达式、真值表、逻辑图、卡诺图、波形图和硬件描述语言(HDL) 等。

1.与运算

(1) 与逻辑:只有当决定某一事件的条件全部具备时,这一事件才会发生。这种因果关系称为与逻辑关系。

与逻辑举例

FPGA:逻辑运算及逻辑门_逻辑表达式_02

FPGA:逻辑运算及逻辑门_逻辑运算_03

状态表与真值表

FPGA:逻辑运算及逻辑门_逻辑表达式_04

与逻辑符号

FPGA:逻辑运算及逻辑门_真值表_05

与逻辑表达式

与逻辑:

FPGA:逻辑运算及逻辑门_真值表_06

与门电路

实现与逻辑运算(即满足与逻辑真值表)的电子电路称为与门电路(简称与门)

FPGA:逻辑运算及逻辑门_逻辑运算_07

FPGA:逻辑运算及逻辑门_真值表_08

2. 或运算

只要在决定某一事件的各种条件中,有一个或几个条件具备时,这一事件就会发生。这种因果关系称为或逻辑关系。

或逻辑举例

FPGA:逻辑运算及逻辑门_逻辑运算_09

电路状态表

FPGA:逻辑运算及逻辑门_逻辑表达式_10

状态表与真值表

FPGA:逻辑运算及逻辑门_真值表_11

或逻辑符号

FPGA:逻辑运算及逻辑门_逻辑运算_12

或逻辑表达式

或逻辑:

FPGA:逻辑运算及逻辑门_真值表_13

或门电路

实现或逻辑运算(即满足或逻辑真值表)的电子电路称为或门电路(简称或门)。

FPGA:逻辑运算及逻辑门_真值表_14

FPGA:逻辑运算及逻辑门_真值表_15

3. 非运算

事件发生的条件具备时,事件不会发生;事件发生的条件不具备时,事件发生。这种因果关系称为非逻辑关系。

非逻辑举例

FPGA:逻辑运算及逻辑门_真值表_16

电路状态表

FPGA:逻辑运算及逻辑门_真值表_17

状态表与真值表

FPGA:逻辑运算及逻辑门_逻辑运算_18

非逻辑符号

FPGA:逻辑运算及逻辑门_逻辑运算_19

非逻辑表达式

FPGA:逻辑运算及逻辑门_真值表_20

三极管实现的非门电路

FPGA:逻辑运算及逻辑门_逻辑表达式_21

FPGA:逻辑运算及逻辑门_真值表_22

常用复合逻辑运算及对应的逻辑门

在逻辑代数中,有与、或、非三种基本的逻辑运算。还有 与非、或非、同或、异或等常用的复合逻辑运算。

逻辑运算的描述方式:逻辑代数表达式、真值表、逻辑图、卡诺图、波形图和硬件描述语言(HDL) 等。

1. 与非运算

FPGA:逻辑运算及逻辑门_真值表_23

两输入变量与非

逻辑真值表

FPGA:逻辑运算及逻辑门_逻辑运算_24

与非逻辑符号

FPGA:逻辑运算及逻辑门_真值表_25

与非逻辑表达式

FPGA:逻辑运算及逻辑门_真值表_26

2. 或非运算

两输入变量或非

逻辑真值表

FPGA:逻辑运算及逻辑门_逻辑运算_27

或非逻辑符号

FPGA:逻辑运算及逻辑门_逻辑表达式_28

或非逻辑表达式

FPGA:逻辑运算及逻辑门_逻辑运算_29

3. 异或逻辑

若两个输入变量的值相异,输出为1,否则为0。

异或逻辑真值表

FPGA:逻辑运算及逻辑门_真值表_30

异或逻辑符号

FPGA:逻辑运算及逻辑门_逻辑表达式_31

异或逻辑表达式

FPGA:逻辑运算及逻辑门_真值表_32

4.同或运算

若两个输入变量的值相同,输出为1,否则为0。

同或逻辑真值表

FPGA:逻辑运算及逻辑门_逻辑运算_33

同或逻辑逻辑符号

FPGA:逻辑运算及逻辑门_逻辑表达式_34

同或逻辑表达式

FPGA:逻辑运算及逻辑门_逻辑表达式_35

集成逻辑门电路简介

逻辑运算都可以用SSI集成电路实现 。

FPGA:逻辑运算及逻辑门_真值表_36

三态门

三态输出门电路逻辑符号

高电平有效的同相三态门

FPGA:逻辑运算及逻辑门_逻辑运算_37

低电平使能的三态输出非门电路

FPGA:逻辑运算及逻辑门_逻辑表达式_38

三态输出门的真值表

高电平使能的三态输出门的真值表

FPGA:逻辑运算及逻辑门_逻辑表达式_39

低电平使能的三态输出门的真值表

FPGA:逻辑运算及逻辑门_逻辑表达式_40

应用举例
(1) 构成总线传输结构

为了减少复杂的系统中各个单元电路之间的连线,数字系统中信号的传输常常采取一种称为“总线”(Bus)的结构形式,以达到在同一导线上分时传递若干路信号的目的。

工作时只要控制各个FPGA:逻辑运算及逻辑门_逻辑表达式_41端的逻辑电平,保证在任何时刻仅有一个三态输出门电路被使能,就可以把各个输出信号按要求顺序送到总线上,而互不干扰。

FPGA:逻辑运算及逻辑门_逻辑表达式_42

(2) 实现信号的双向传输

FPGA:逻辑运算及逻辑门_逻辑运算_43

DIR (EN) 为传送控制信号。

当DIR=1时, G1工作,G2为高阻态,数据线DO/I上的数据经G1送到总线上;

当DIR=0时, G2工作, 而G1为高阻态,来自总线的数据经G2送到的DO/I线上。

参考文献:

  1. Verilog HDL与FPGA数字系统设计,罗杰,机械工业出版社,2015年04月
  2. Verilog HDL与CPLD/FPGA项目开发教程(第2版), 聂章龙, 机械工业出版社, 2015年12月
  3. Verilog HDL数字设计与综合(第2版), Samir Palnitkar著,夏宇闻等译, 电子工业出版社, 2015年08月
  4. Verilog HDL入门(第3版), J. BHASKER 著 夏宇闻甘伟 译, 北京航空航天大学出版社, 2019年03月

usb端口的esd防护电路设计-多极客编程

USB作为一种非常普及的接口,在各种电子终端设备上都有使用。作为硬件设计中的重点考虑项,ESD防护设计显得尤为重要,然而,在实际电路中,我们经常可以看到各种不同的防护设计方案,有些方案甚至彼此相反;在实际的ESD测试中,也会出现支持不同方案的各种结果。针对USB端口的防护设计,最好这样来分开讨论:线路防护和壳体防护(有些非专业的同志喜欢笼统来看待,这样不利于正确地解决ESD问题)。实际上我们实际中

fpga:数字电路简介-多极客编程

数字电路的历史数字电路是数字计算机和自动控制系统的基础,它的发展是以电子器件的发展为基础的,器件的发展可以大致上分为3个阶段:电子管(1906年)晶体管(1947年)集成电路(Integrated Circuit,简称IC,1958年)器件发展的几个阶段:数字电路发展特点: 以电子器件的发展为基础电子管时代电压控制器件: 电真空技术1906年,福雷斯特等发明了电子管;电子管体积大、重量重、耗电

linux下命令(3)-多极客编程

Linux下命令(3)            Linux 是一套免费使用和自 由传播的类 Unix 操作系统, 是一个基于 POSIX 和 UNIX 的多用户、 多任务、 支持多线程和多 CPU 的操作系统。 它能运行主要的 UNIX 工具软件、 应用程序和网络协议。 它支持 32 位和 64 位硬件。 Linux 继承了 Unix 以网络为核心的设计思想, 是一个性能稳定的多用户网络操作系统。1

fpga:数字电路简介-多极客编程

数字电路的历史数字电路是数字计算机和自动控制系统的基础,它的发展是以电子器件的发展为基础的,器件的发展可以大致上分为3个阶段:电子管(1906年)晶体管(1947年)集成电路(Integrated Circuit,简称IC,1958年)器件发展的几个阶段:数字电路发展特点: 以电子器件的发展为基础电子管时代电压控制器件: 电真空技术1906年,福雷斯特等发明了电子管;电子管体积大、重量重、耗电

嵌入式:arm的dma设计-多极客编程

一、DMA工作原理所谓DMA方式,即直接存储器存取(Direct Memory Acess),在DMA控制器的控制下,不通过CPU控制,高速地和I/O设备和存储器之间交换数据。S3C2410具有一个4通道DMA控制器。该DMA控制器位于系统总线(AHB)和外设总线(APB)之间。每个DMA通道均能在系统总线和(或)外设总线之间执行一次数据搬移。这样可以有四种DMA数据搬移:(1)源设备和目标都在

嵌入式:arm中断系统设计全解-多极客编程

一、ARM9的异常事件管理ARM920T能处理有8个异常,他们分别是:Reset,Undefined instruction,Software Interrupt,Abort (prefetch),Abort (data),Reserved,IRQ,FIQ ,它们的矢量表是:Address Instruct 0x00000000: b