1. bread电子发烧友论坛
  2. 小组 > 技术 > 特权同学FPGA专区
  3. / 勇敢的芯伴你玩转Altera FPGA连载24:表面现象揭秘—— ...

[FPGA作品] 勇敢的芯伴你玩转Altera FPGA连载24:表面现象揭秘——逻辑关系

[复制链接]
版主
发表于 2017-11-20 21:26:46   1388 查看 0 回复 只看该作者 倒序浏览
分享
勇敢的芯伴你玩转Altera FPGA连载24表面现象揭秘——逻辑关系
特权同学,版权所有
配套例程和更多资料下载链接:
http://pan.baidu.com/s/1i5LMUUD
         神奇的0和1,缘何能够如此的变化多端?从某种意义上看,无非就是数字本身固有的各种各样的逻辑关系在使然。在今天的数字系统中,虽然可能整个系统的不同芯片或相同芯片的不同模块之间供给电压不尽相同,有5V/3.3V/2.5V/1.8V/1.2V等等,但是从基本原理上看,无论用什么电压值代表1(通常都一致的用0V表示0),其内部逻辑运算原理都是一致的。         0和1,他们的最基本逻辑运算是通过非门、与门和或门来实现的。非门的符号和真值表如图3.5所示。输入x经过非门后,输出z为x的取值反向,如输入x=0则z=1,反之,输入x=1则z=0。图3.5 非门符号和真值表         与门的符号和真值表如图3.6所示。输入x和y进行与运算后得到结果z。与运算的原则就是“遇0则0,全1则1”。图3.6 与门符号和真值表         或门的符号和真值表如图3.7所示。输入x和y进行或运算后得到结果z。或运算的原则就是“遇1则1,全0则0”。图3.7 或门符号和真值表         在与、或、非这三种最基本的逻辑门基础上进行一些扩展,就产生了一些常见的逻辑门如与非门、或非门、异或门、同或门,其符号和真值表分别如图3.8、图3.9、图3.10和图3.11所示。图3.8 与非门符号和真值表图3.9 或非门符号和真值表图3.10 异或门符号和真值表图3.11 同或门符号和真值表         有了这些基本的门电路,可能有些人还是不理解,到底这些门电路能够干什么,只是做做简单的逻辑关系处理?非也,数字电路中的逻辑门其实就如同数学运算中的1+1=2和2-1=1这样简单却又非常基础的关系。数字电路的逻辑门说白了也是为数学运算服务的,人类运算的基础——加、减、乘、除都可以用逻辑门来完成,更高级一些的运算如开方、求根号等,一样可以通过一些巧妙的逻辑门处理算法解决。人类不是有一套十进制的运算方式了,那又为什么一定要通过逻辑门以二级制的方式来完成这类运算呢?究其根本原因,是因为二进制的处理机制是数字电路(或者更大一点说,也是计算机技术)的基础,而基本的逻辑门运算又非常适合于二进制的运算。再往后,如果读者有机会更深入到电子或计算机相关的应用中,回头再望望今天所说的这些基本逻辑门电路,一定会惊叹那些计算机前辈们的智慧。可不是,话说能够用最简单的东西实现最复杂的事物那才是人类创造的最高水平。         下面列举一个最简单的1位加法器的例子,如图3.12所示,x和y相加,其结果为z,进位为c。我们观察其真值表发现:z = x^y,c = x&y。果然,1位加法非常轻易的用两个逻辑门电路实现了。图3.12 1位加法器         若是再深入,2位、3位甚至更多位的加法运算,对于每个位的结果和进位,都可以仿照1位加法器的方式来实现。由此可见,逻辑门还真是那么回事。         接下来,我们要用这些基本的逻辑门搭个复杂点的电路。这个电路如图3.13所示,这是边沿触发的D触发器电路。该触发器的功能是实现时钟信号clk上升沿(由0变化到1)时将输入信号D的值锁存到输出信号q。图3.13 边沿触发的D触发器电路         该D触发器的真值表如表3.1所示。由此表不难看出,这个D触发器实现了clk信号的上升沿锁存当前输入D信号值到输出信号q或~q的功能,而当clk信号为0或者保持高电平期间,D信号的取值变化不会影响当前的输出q和~q。表3.1 D触发器真值表
D
clk
f3
f4
f5
f6
f1
f2
q
~q
0
0
0
1
1
1
-
-
-
-
1
0
1
1
1
0
-
-
-
-
0
0
1
1
1
-
-
-
-
0
1
1
1
0
-
-
-
-
0
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
-
-
-
-
1
1
0
1
1
-
-
-
-
0
0
1
1
1
-
-
-
-
1
1
1
1
0
-
-
-
-
         由此可见,D触发器可用于存储比特信号,当D输入为0时,在时钟clk的上升沿,q输出也为0;当D输入为1时,在时钟clk的上升沿,q输出也为1;在其他的时刻,q输出保持不变。在实际电路中,时钟信号clk源源不断的有标准的方波输入,每个时钟信号clk的上升沿都会使得D触发器的输入D值被锁存到输出q值中。其实这个D触发器就是我们最基本的寄存器的雏形了,在时序电路中,寄存器和时钟是最基本的要素。         如图3.14所示,这是一个带有异步置位和复位功能的D触发器。所谓置位,即set信号有效时(即为1时),该电路无论时钟clk和输入D值的状态如何,输出q一定是1;同理,所谓复位,即指clr信号有效时(即为1时),该电路无论时钟clk和输入D值的状态如何,输出q一定是0。有了set和clr信号,我们可以在任何时刻得到需要的输出q信号值,当然了,一般只有在系统上电初始或者出现异常后才会执行这样的操作。图3.14 带异步置位和复位的D触发器         如图3.15所示,通常我们可以用一个简化的模型符号来表示带有异步置位和复位功能的边沿触发的D触发器,通常我们也可以直接称它为寄存器。可别小瞧了它,在后面的应用中我们会逐渐感受到它的神通广大。图3.15 D触发器模型符号

只有小组成员才能发言,加入小组>>
49个成员聚集在这个小组 加入小组

创建小组步骤

关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表
  1. time最新主题
  2. recommend推荐主题
  3. hot热门主题
  4. post 我的帖子
-

推荐专区

技术干货集中营

专家问答

用户帮助┃咨询与建议┃版主议事

工程师杂谈

工程师创意

工程师职场

论坛电子赛事

社区活动专版

发烧友活动

-

嵌入式论坛

ARM技术论坛

Android论坛

Linux论坛

单片机/MCU论坛

FPGA|CPLD|ASIC论坛

DSP论坛

嵌入式系统论坛

-

电源技术论坛

电源技术论坛

无线充电技术

-

硬件设计论坛

PCB设计论坛

电路设计论坛

电子元器件论坛

控制|传感

总线技术|接口技术

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术专区

仪器仪表技术专区

-

EDA设计论坛

multisim论坛

PADS技术论坛

Protel|AD|DXP论坛

Allegro论坛

proteus论坛|仿真论坛

EasyEDA-中国人自已的EDA工具

Orcad论坛

-

综合技术与应用

电机控制

智能电网

光电及显示

参考设计中心

汽车电子技术论坛

医疗电子论坛

-

开源硬件

-

无线通信论坛

无线通信技术专区

天线|RF射频|微波|雷达技术

-

IC设计论坛

芯片测试与失效分析

Mixed Signal/SOC[数模混合芯片设计]

Analog/RF IC设计

设计与制造封装测试

-

厂商专区

TI论坛

TI Deyisupport社区

-

检测技术与质量

电磁兼容(EMC)设计与整改

安规知识论坛

检测与认证

-

消费电子论坛

手机技术论坛

平板电脑/mid论坛

音视/视频/机顶盒论坛

-

电子论坛综合区

聚丰众筹官方社区

新人报道区

聚丰供应链

-

论坛服务区

-

供求信息发布

供需广告

招聘┃求职发布区

电子展览展会专区

鸿运国际手机版