数字电路

Scheme实现数字电路仿真(1)——组合电路

*爱你&永不变心* 提交于 2019-12-09 16:03:27
  EDA是个很大的话题,本系列只针对其中一小部分,数字电路的仿真,叙述一点概念性的东西,并不会过于深入,这方面的内容实则是无底洞。本系列并不是真的要做EDA,按照SICP里的相关内容,采用Lisp的方言Scheme。再者,Lisp并不是只有函数式一种编程范式,真正做EDA,仿真的核心部分为了运行效率可以采用C/C++编写,编程的思路也可以借鉴。    门级电路   学过数字电路,我们都知道与、或、非三个门。虽然从实际上真实电路的角度来说,与非门、或非路一般比起与、或门更为简单,但一般情况下我们可能更喜欢从与、或、非说起。   与、或、非这三个门级的逻辑符号如下:   与门的真值表如下: 输入1 输入2 输出 真 真 真 假 真 假 真 假 假 假 假 假   或门的真值表如下: 输入1 输入2 输出 真 真 真 假 真 真 真 假 真 假 假 假   非门的真值表如下: 输入 输出 真 假 假 真   除此之外还有异或门、同或门比较常用,符号如下:   异或门的真值表如下: 输入1 输入2 输出 真 真 假 假 真 真 真 假 真 假 假 假   同或门的真值表如下: 输入1 输入2 输出 真 真 真 假 真 假 真 假 假 假 假 真    组合电路   将以上的门级电路连在一起,得到组合电路。前提是,组合电路没有反馈。   解释一下反馈的意思,  

Scheme实现数字电路仿真(1)——组合电路

China☆狼群 提交于 2019-12-09 13:23:27
  EDA是个很大的话题,本系列只针对其中一小部分,数字电路的仿真,叙述一点概念性的东西,并不会过于深入,这方面的内容实则是无底洞。本系列并不是真的要做EDA,按照SICP里的相关内容,采用Lisp的方言Scheme。再者,Lisp并不是只有函数式一种编程范式,真正做EDA,仿真的核心部分为了运行效率可以采用C/C++编写,编程的思路也可以借鉴。       门级电路   学过数字电路,我们都知道与、或、非三个门。虽然从实际上真实电路的角度来说,与非门、或非路一般比起与、或门更为简单,但一般情况下我们可能更喜欢从与、或、非说起。   与、或、非这三个门级的逻辑符号如下:      与门的真值表如下: 输入1 输入2 输出 真 真 真 假 真 假 真 假 假 假 假 假   或门的真值表如下: 输入1 输入2 输出 真 真 真 假 真 真 真 假 真 假 假 假   非门的真值表如下: 输入 输出 真 假 假 真   除此之外还有异或门、同或门比较常用,符号如下:      异或门的真值表如下: 输入1 输入2 输出 真 真 假 假 真 真 真 假 真 假 假 假   同或门的真值表如下: 输入1 输入2 输出 真 真 真 假 真 假 真 假 假 假 假 真    组合电路   将以上的门级电路连在一起,得到组合电路。前提是,组合电路没有反馈。   解释一下反馈的意思,  

数字电路设计之casez,case,casex的用法

匿名 (未验证) 提交于 2019-12-02 23:55:01
case:在 case 语句中,敏感表达式与各项值之间的比较,是一种 全等 比较。每一位都必须相同才认为匹配。 casez:这种也可用于优先级电路。 举个栗子: module no13 ( out , a , b , c , d , select ); input wire a , b , c , d ; input wire [ 3 : 0 ] select ; output reg out ; always@ ( a or b or c or d or select ) begin casez ( select ) 4 'b???1: out = a; 4 ' b ?? 1 ?: out = b ; 4 'b?1??: out = c; 4 ' b1 ???: out = d ; default : out = 1 'b0; endcase end endmodule 仿真代码: module tb ; // Inputs reg a ; reg b ; reg c ; reg d ; reg [ 3 : 0 ] select ; // Outputs wire out ; // Instantiate the Unit Under Test (UUT) no13 uut ( . out ( out ), . a ( a ), . b ( b ), . c ( c ), . d

数字电路基本门的工作原理

为君一笑 提交于 2019-12-02 19:52:54
半导体 什么是半导体 半导体(semiconductor)   半导体指常温下导电性能介于导体与绝缘体之间的材料。 硅元素 高纯的 单晶硅 是重要的半导体材料。在 单晶硅 中掺入微量的第IIIA族元素,形成p型硅半导体;掺入微量的第 VA族元素 ,形成n型和 p型半导体 结合在一起,就可以完成 辐射能 电能相互转化的装置。 掺杂 掺杂是在硅中加入一些元素形成空穴或自由电子的过程。 N型硅(Negative) 如果在硅中加入P元素,P和Si形成共价键而P的第五个价电子没有被共价键束缚,在原子周围游荡。 如果一个电压加到Si-P混合物,这个电子将会受到电场力穿过掺杂的硅片向电势高的地方移动。 P型硅(Positive) 如果在硅片中加入B元素,那么B和Si结合形成共价键,而B只有3个价电子,所以会形成空穴。 如果在这种晶片上施加电压,那么相邻电子在受到电场力的作用下来补上空穴,使得空穴向电势低的方向移动。 二极管 PN结二极管的工作原理 正向偏置   当二极管的P极连接到一个电池的正极,N连接到该电池的负极,此时N型区的电子和P型区的空穴受到电场作用向PN结推进,电子与空穴结合,电流通过二极管。 反向偏置   当二极管的P极连接到一个电池的负极,N连接到该电池的正极,此时N型区的电子和P型区的空穴受到电场作用向两端分离,阻隔电流通过二极管。 双极型晶体管 双极型晶体管是三端器件

数字电路 第五章

匆匆过客 提交于 2019-12-02 08:39:37
触发器 触发器是一类具有记忆功能,可以存储二进制信息的双稳态电路。它是组成时序电路的基本单元,也是基本的时序电路。 输入信号发生变化时,触发器可以从一个稳定的状态转换到另一个稳定的状态。 基本RS触发器 基本RS触发器是构成各种功能触发器的基本单元,所以称为基本触发器。 用两个与非门或两个或非门交错耦合构成。 当输入信号R D 、S D 均为1时,该触发器必定处于Q=1或Q=0的某一状态保持不变,所以它是具有两个稳定状态的双稳态电路。 逻辑电路: 逻辑元件表示: R D S D Q n+1 0 1 0 不管原状态是什么,次态一定是0状态 1 0 1 不管原状态是什么,次态一定是1状态 1 1 Q 保持原状态 0 0 不确定 由于门的延迟时间不一致,次态不确定 R D :直接置0端,复位端 S D :直接置1端,置位端 低电平有效 约束条件:R D +S D =1 特征方程: 描述触发器的逻辑功能的表示方法 : 状态转移真值表 特征方程 状态转移图与激励表 波形图 时钟控制的触发器 钟控触发器(时钟触发器,同步触发器) 钟控RS触发器 钟控D触发器 钟控Jk触发器 钟控T触发器 钟控RS触发器 基本电路 : 逻辑符号 : 特征方程 : 将R D 和S D 带入基本RS触发器特征方程(在CP=1时),可得下式: 功能描述 : 当CP=0时,C、D门被封锁,触发器保持原状态不变 当CP

数字电路-二进制转BCD码

杀马特。学长 韩版系。学妹 提交于 2019-11-30 12:07:19
BCD码实际上就是将原本的十进制数的每一位用一个4位二进制数表示,每一位0-9。 二进制4位能够表达的数字范围是0-15。 由此可见BCD码的一段与普通四位二进制来表示十进制位有6的进制差 。所以这就是二进制转化为BCD码的关键所在。下面来讲讲主要步骤: 先预估十进制数的位数,预先给BCD码分好段,此时的BCD码为空无任何数据 接着讲原本的二进制数的最高位一端从BCD码的最低位端插入,也可以看作是将二进制数与BCD码同时左移每次将二进制的头砍掉补到BCD码最后,但个人觉得逐位插入更加形象~ 关键来啦 ,之前提到过 BCD码每一个四位二进制(表示十进制的一位)存储范围是0-9,而原本的二进制四位的存储范围是0-15 ,所以二进制在逐位后端插入BCD码时,若BCD码的某一段(四位二进制)>9 则我们手动给该段+6强行使其进位满足BCD码的存储范围的要求--简单的说就是一直同时左移,某一段>9就+6。 这里可以进行优化,就是常用的 +3(+011)左移法 ,即在左移之前先判断本段是否>4(>0100),若大于则左移之后必然会超过9,所以在左移之前先在该段+3(+011),那么左移之后就已经实现了进位啦。 就这么一直将二进制逐位从底端插入(左移),同时保持每段的范围在0-9内最终就能得到BCD码聊。 来源: https://www.cnblogs.com/GorgeousBankarian

浅谈电路

廉价感情. 提交于 2019-11-30 07:11:57
电路 分为数字电路和模拟电路。数字是在 时间和幅度 都是离散的信号;模拟是在 时间或幅度 是连续的信号。 数字电路 (数字系统)指的是用数字信号来完成对数字量进行算术逻辑运算的电路。由于它具有逻辑运算和逻辑处理功能,所以又称数字逻辑电路。   现代的数字电路由半导体工艺制成的若干数字集成器件构造而成。   数字电路或数字集成电路是由许多的逻辑门和存储器组成的复杂电路。逻辑门是数字逻辑电路的基本单元。存储器是用来存储二进制数据的数字电路。与模拟电路相比,它主要进行数字信号的处理(即信号以0与1两个状态表示),因此实现简单、系统可靠(抗干扰能力较强)。   数字电路的划分: 1、按 功能 分为组合逻辑电路和时序逻辑电路两大类: 前者简称组合电路,它由最基本的逻辑门电路组合而成; 后者简称时序电路,它是由最基本的逻辑门电路加上反馈逻辑回路(输出到输入)或器件组合而成的电路,与组合电路最本质的区别在于时序电路具有记忆功能。 2、按 结构 分为分立元件电路和集成电路: 前者是将独立的晶体管、电阻等元器件用导线连接起来的电路; 后者将元器件及导线制作在半导体硅片上,封装在一个壳体内,并焊出引线的电路。集成电路的集成度是不同的。 3、按集成电路的 集成度 分为小规模集成数字电路(SSI)、中规模集成数字电路(MSI)、大规模集成数字电路(LSI)和超大规模集成数字电路(VLSI)。  

数字电路:可编程逻辑器件PLDs

断了今生、忘了曾经 提交于 2019-11-30 03:11:06
PLDs分类 1.SPLDs:简单可编程逻辑器件,最多600门 2.CPLDs:复杂可编程逻辑器件,上千门 3.FPGAs:现场可编程门阵列,成千上万门 可编程阵列 一个由导体构成的网格,行和列之间有可熔化的连接 通过熔化指定的连接来决定输出 SPLDs分类 1.可编程只读存储器(PROM) 固定与门阵列 可编程或门阵列 2.可编程逻辑阵列(PLA) 可编程与门阵列 可编程或门阵列 3.可编程阵列逻辑(PAL) 一次可编程与门阵列(不可擦除) 固定或门阵列+固定输出逻辑 4.通用阵列逻辑(GAL) 可编程与门阵列 固定或门阵列+可编程输出逻辑(输出逻辑宏单元OLMC) PAL 允许所有SOP表达,输出端有一个反相器,同时,可以添加一个反相器来允许输出端输入,或让输出的信号反馈 GAL 可编程与门阵列由电可擦除CMOS(E2CMOS)单元组成,on时连接,off时断开 OLMC OLMC可以被认为是一个输出的组合,一个输入,或是带寄存器的输出 OLMC里有一个1-of-4 multiplexer(两个输入的多路复用器),它有四种输入,对应OLMC的四种配置: 1.或门输出 2.或门输出的补码 3.带寄存器的或门输出 4.带寄存器的或门输出补码 来源: https://blog.csdn.net/weixin_44123999/article/details/101022880

高频高速板材该怎样选择

我的未来我决定 提交于 2019-11-29 06:23:56
随着微处理器和信号转换传输器件运行速度提升,数字电路的运行速度也达到一个更高层次:100Gbps。使用通用的PCB板材将不能达到高速信号要求,电路板的选材将会决定产品的性能。 选择PCB板材必须在满足设计需求、可量产性、成本中间取得平衡点。简单而言,设计需求包含电气和结构可靠性这两部分。通常在设计非常高速的PCB板子(大于GHz的频率)时这板材问题会比较重要。例如,现在常用的FR-4材质,在几个GHz的频率时的介质损Df(Dielectricloss)会很大,可能就不适用。 不同板材的损耗 举例来说,10Gb/S高速数字信号是方波,它可以看作是不同频率的正弦波信号的叠加。因此10Gb/S包含许多不同频率信号:5Ghz的基波信号、3阶15GHz、5阶25GHz、7阶35GHz信号等。保持数字信号的完整性以及上下沿的陡峭程度和射频微波(数字信号的高频谐波部分达到了微波频段)的低损耗低失真传输一样。因此,在诸多方面,高速数字电路PCB选材和射频微波电路的需求类似。 时域/频域 在实际的工程操作中,高频板材的选择看似简单但需要考虑的因素还是非常多的,通过本文的介绍,作为PCB设计工程师或者高速项目负责人,对板材的特性及选择有一定的了解。了解板材电性能、热性能、可靠性等。并合理使用层叠,设计出一块可靠性高、加工性好的产品,各种因素的考量达到最佳化。 下面将分别介绍,选择合适的板材主要考虑因素