
数电
只是有点小怂
本职工作是电子工程师,其他都是业余爱好
展开
-
简单解释补码为何需要取反加一
补码取反加一原理原创 2022-08-22 18:16:17 · 1031 阅读 · 3 评论 -
【nand2tetris实验0】windows找不到文件javaw的解决办法
点击 HardwareSimulator.bat报错应该是缺少Java开发环境,安装一个JDK即可https://www.oracle.com/java/technologies/downloads/#jdk17-windows下载msi文件直接一切默认安装即可原创 2022-03-07 19:01:55 · 2977 阅读 · 1 评论 -
multisim仿真D触发器设计的模六计数器并在数码管显示0-5
D触发器设计的模6计数器设计思路从000计数到101,并用卡诺图进行化简,没有输出为摩尔型用quartus仿真看波形BCD译码选择74LS48芯片,将D触发器输出Q2Q1Q0对应接到输入管脚CBA输出一一对应连接到七段数码管的管脚上数码管显示48输出高有效故选择共阴极数码管CK,公共端连接到地CLK信号调用DIGITAL_CLOCK完成后总示意图multisim14文件 https://wws.lanzous.com/iG6x3j7..原创 2020-12-10 10:17:10 · 9664 阅读 · 1 评论 -
记录WIN10下ISE14.7安装和关联modelsim10.1的安装要点
上一门选修课,老师给的板子是virtex4芯片,vivado是用不了了,实验室的电脑又不方便课下练习,只能想办法在自己电脑上安装百度网盘下载地址,总计6.12G链接:https://pan.baidu.com/s/1T3BvFRswPq5pR7Phx3sBQg 提取码:1u87安装ISE14.7安装包名为Xilinx_ISE_DS_14.7_1015_1搜索教程关键词ISE14.7和WIN10安装过程一路next即可load安装包里的xilinx_ise.lic进行破解.原创 2020-10-29 11:06:04 · 2323 阅读 · 0 评论 -
quartus仿真35:D触发器和JK触发器构成的异步时序电路
触发器没有使用相同的时钟信号,需要分析哪些触发器时钟有效哪些无效分析步骤和同步时序电路一样,不过要加上时钟信号有关D触发器的例题抄自慕课上的一个题目,注意第二个触发器反相输出端同时连接到复位端JK触发器构成异步触发器,注意是上升沿还是下降沿触发以下是列写三个触发器方程的过程,从Q2Q1Q0=000开始的状态表没有列写,分析了无效状态可以进入主循环。quaruts原理图连线我本来是不想分析异步时序电路的,因为这不是课程的重点,奈何看到一些考研题目有这种折磨人的傻缺.原创 2020-10-22 17:07:18 · 3769 阅读 · 0 评论 -
quartus仿真34:74161构成长度为10的序列发生器
序列发生器构成有两种形式计数器+组合逻辑电路(译码器/多路选择器)移位寄存器构成的最大长度序列发生器74161是计数器,选第一种产生1101000101序列的计数型序列信号发生器确定模值,序列长度为10,需要模十计数器计数方式:OC置数法,从1111往上倒数十位, 15-X+1=10解得X=6=0110,准备放置的数为0110确定组合逻辑,0110对应输出状态1一直到1111输出状态1。8选1MUX为74151,确定计数器的QDQBQA端连接到八选一的A2A1A0端根据数据选..原创 2020-10-22 11:21:50 · 12308 阅读 · 0 评论 -
quartus仿真33:74161级联实现模60计数器
将60分解成6*10,分别用74161实现模6和模10计数器,再级联成模60计数器利用OC进位端反相得到的信号输入到置位端,模6计数器的实现15-X+1=6,解得置数端需要准备的数为X=10=1010,模10计数器的实现15-X+1=10,解得置数端需要准备的数为X=6=0110。观察波形图可以看出,稳定后第一片计数器从10计到15,第二片从6计到1560同样可以分解成5*12,这种方法需要分解的两个因数小于161的模值16。利用上面方法的思路,OC置数法,模5计数器的实现15-X+1=.原创 2020-10-21 22:30:22 · 29793 阅读 · 3 评论 -
quartus仿真32:74161构成的模7计数器
异步清零法,从0计数到6然后利用过渡态7完成清零操作同步置零法,计数到6时输出一个置位信号,将准备的数字0000输入到计数器中清零和置数的控制端输入相当于对计数数字的译码的过程清零法很遗憾的是有毛刺导致只能计数4个状态,置零法的输出很干净从000到110利用OC端进行置数,计数器数到1111时会输出一个高脉冲,加上反相器可以用作置位信号的输入。故要往上数7个状态,同理可以利用QD端输出的高电平从0111到1000,作用与OC端相同,同样往上数7个数。可以看出波形都挺规整的,输出状态也对应上.原创 2020-10-21 21:02:54 · 13145 阅读 · 0 评论 -
quartus仿真31:74161的级联
74LS161是模16(四位二进制)同步集成计数器,异步清零一张功能表时刻准备查询异步级联方法:将前一计数器的输出作为后一级计数器的时钟信号两片161所需要的时钟不同称为异步前一级计数器的进位输出触发器输出的高位为何需要加反相器——74161时钟上升沿触发 ,进位输出一个高电平,采用由低变高的边沿输出到时钟不稳定。加了一个反相器相当于下降沿触发,等电平经过一段时间稳定后触发时钟。还有一个原因是用上升沿触发将导致下一级161提前一个时钟周期计数,下降沿触发时等15完全输出后再计数。.原创 2020-10-21 19:45:34 · 10306 阅读 · 1 评论 -
multsim仿真1:利用multisim化简逻辑函数
在右边栏选择器件Logic Converter,图纸上出现XLC的标志,双击打开选择变量数ABCD,圈变成白色。在最右侧点击?修改数值为0,1,X点击SIMP即可在框内出现化简的逻辑函数值原创 2020-10-21 08:55:37 · 3665 阅读 · 1 评论 -
quartus仿真30:D触发器构成的可重复序列111探测器
这类序列探测题目也是有套路的,状态一多不就不好用卡诺图化简了吗。 选用触发器就是JK和D两种,一般D比较简单,JK就是故意折磨你。米里型最后一个状态111是不需要设置的,因为已经存储了11再接收到1就可以确认收到111。不同状态分配影响的是电路复杂程度,但具体原则就是随缘吧。。我一般挑选格雷码来进行状态分配,对比一下PPT里用00,01和10实现的状态编码。通过对比连线可以看出,使用格雷码编码的方式更简单一点(从卡诺图化简结果同样也可以看出来)。上图为PPT里状态编码方式,下图是我使用的格雷码编码方.原创 2020-10-20 21:04:09 · 2619 阅读 · 0 评论 -
数电六十分通关法则(更新中)
德摩根律时序逻辑电路会分析背下JK触发器和D触发器的方程置数法和清零法分析计数器161原创 2020-10-20 17:36:57 · 312 阅读 · 0 评论 -
quartus调用74系列的芯片
回应一位同学在我博客底下的问题,如何找到74138首先新建工程,在工程下新建bdf文件在图纸右侧可以点击器件与门的标志,也可以通过Edit|Insert Symbol来打开器件库然后在Name下输入器件名字如74138,点击OK便可以放置芯片在图纸上。另外74系列芯片在的目录为maxplus2下,maxplus2是上一代EDA工具,这个可以查阅相关EDA的书籍知道。...原创 2020-10-20 17:01:28 · 6923 阅读 · 1 评论 -
quartus仿真29:JK触发器实现序列信号发生器0010111(分析)
序列信号发生器:重复输出特定二进制序列信号的电路写状态方程其实Q0Q1Q2顺序还是Q2Q1Q0顺序都不重要,状态转移图注明就行了。分析时我更喜欢用Q2Q1Q0的顺序从000写到111,再根据状态方程直接一排写出(Q2Q1Q0)n+1,再根据状态转移图分析逻辑关系。可以看出000是无效状态,并且该电路具有自启动能力。从波形图可以看出,Q0Q1Q2信号输出只相差一个相位分析有专门的设计方法,移位法,先写出0010111再移一个位置生成Q1,移两个位置生成Q2,(左移和右移需要好好分析)然后检.原创 2020-10-20 10:43:54 · 8700 阅读 · 2 评论 -
quartus仿真28:JK触发器实现的脉冲分配器(分析)
脉冲分配器:在时钟脉冲的作用下,按一定顺序轮流输出脉冲信号。(即将脉冲信号按顺序分配到各个输出端)从波形图可以看出,在时钟下降沿每个输出端依次输出一个脉冲原创 2020-10-19 21:35:03 · 3266 阅读 · 0 评论 -
quartus仿真27:JK触发器构成的同步十进制可逆计数器(分析)
十进制计数器M=10,采取BCD编码方式从0000->1001,共有6个无效状态,检查自启动问题。可逆说明加法和减法两种模式都可以,需要增加一个控制端M=1时为加法计数很复杂的原理图,看了就怀念Verilog直接根据激励方程连接电路图,在第一次仿真时出现错误,检查几遍连线均没发现问题(应该还是有问题的)把一些端口直接命名的线连上后重新仿真后终于出来结果根据波形图可以看出,当M=1时计数从0000到1001并在1001时输出一个正脉冲,当M=0时计数从1001到0000并在0000时.原创 2020-10-19 16:41:15 · 9379 阅读 · 2 评论 -
quartus仿真27:JK触发器构成的同步二进制加法计数器(分析)
计数器不需要外部输入,摩尔型电路二进制加法计数器没有多余状态,4个触发器模为2^4=16JK触发器两端相连构成一个T触发器,当Q3Q2Q1Q0=1111时输出一个脉冲。状态转移图可以自己写出,0000->1111...原创 2020-10-19 10:19:58 · 13734 阅读 · 1 评论 -
quartus仿真25:JK触发器构成的模7计数器(分析)
分析是给出电路图分析逻辑功能根据驱动方程写出状态转移方程绘制状态转移表犯得两个错误Q2Q1‾≠Q2‾⋅Q1‾\overline{Q_2Q_1}\neq\overline{Q_2} \cdot \overline{Q_1}Q2Q1=Q2⋅Q1注意连线从Q2口出还是Q2反口出参考分析可以反向思考设计一个可以自启动的模7计数器...原创 2020-10-19 09:58:59 · 6343 阅读 · 0 评论 -
quartus仿真26:D触发器实现的四位移位寄存器
激励方程:D3=R,D2=Q3,D1=Q2,D0=Q1假设R端输入1011,逐次将1011写入,四个脉冲后全部移入寄存器,数据从四个触发器的输出端并行读出,实现串入并出继续施加四个脉冲,四位数据从Q0端串行输出,称为串入串出...原创 2020-10-18 21:50:39 · 9266 阅读 · 0 评论 -
quartus仿真24:数据选择器MUX四选一74153八选一74151
数据选择器又称多路选择器(Multiplexer,MUX)常见数据选择器有2选1、4选1和8选1数据选择器。数据选择器功能可类比于一个单刀多掷的开关。2选1选择器是在A的控制下从D1D0选择一路送到Y。A=0时将D0上的数值送给Y,A=1时将D1上的数值送给Y。 用8选1的MUX实现逻辑函数8选1MUX的型号为74151,对将函数写成最小项形式并分配系数m0和m6接低其余接高。8选1实现两个输入变量的函数逻辑变量数大于地址位数数据选择器进行扩展,用4选1MUX实现8选1MUX.原创 2020-10-17 18:35:51 · 42159 阅读 · 2 评论 -
quartus仿真23:3-8线译码器74138的简单应用
存储器寻址若干8KB的的存储器,实现64KB内存空间,完成寻址电路的设计1KB=1024=2^108KB=8*1KB=2^1364KB=8*8KB=2^16总共需要16位地址码,存储器使能端连接到3-8译码器的8个输出端,13位地址码A12~A0完成存储器的寻址实现逻辑函数F=AB+AC+BC转换为最小项表达式F=m3+m5+m6+m7,利用德摩根律进行转换,将3,5,6,7端口接在一起进行与非...原创 2020-10-17 11:10:29 · 7655 阅读 · 3 评论 -
quartus仿真22:优先编码器74148的级联(详细)
74148的功能表信号低电平有效输入E1=1,电路禁止编码,输出CS=1,E0=1输入E1=0,允许编码,输入无效信号111_1111则输出CS=1,E0=0编码工作,优先级:7>6>5>4>3>2>1>0CS=0时编码工作有效,CS=1编码工作无效E0是使能输出端,用于级联,无有效输入时置为0(有效)CS,E0用来识别电路的不同状态试用两片8线-3线优先编码器接成16线-4线编码器,其中15的优先权最高,0的优先权最低。将16个低电平.原创 2020-10-17 10:29:24 · 11133 阅读 · 1 评论 -
BCD码和余3码
余3码时BCD码(8421码)加上0011B,关于第4和5个数之间为轴镜像对称十进制BCD余3码000000011100010100200100101300110110401000111501011000601101001701111010810001011910011100...原创 2020-10-15 20:27:47 · 6252 阅读 · 0 评论 -
quartus仿真21:JK触发器和D触发器实现110序列探测器
列出状态转移图,根据语言描述定义四个状态,啥也没收到收到1收到11收到110根据产生相同的输出,并转移到相同的状态的等效原则,状态化简为3个状态(进行状态化简可以减少D触发器的个数)状态编码,画卡诺图,写出驱动方程用quartus进行仿真,输入序列0011_1001_0101_1011_0000JK触发器需要配方程,仿真波形和上图一致检查是否具备自启动能力,有一个无效状态11,代入方程得出能自启动的结论...原创 2020-10-15 18:50:28 · 10902 阅读 · 0 评论 -
quartus仿真20:模8的二进制计数器
逻辑抽象得到状态表,状态赋值从000到111,没有外部输入选择摩尔型,总共8个状态需要3个触发器2^3,进位信号COUT是整个系统的输出填卡诺图,得到触发器的驱动方程选择T触发器进行连接,可以看到计数到8时输出一个高脉冲使用D触发器进行连接...原创 2020-10-15 11:00:21 · 11302 阅读 · 0 评论 -
quartus仿真19:JK触发器序列1001检测器
给出电路图分析所产生的序列分析方法按书本上的来,根据JK端的激励方程得到转移方程,代入特征方程得到状态转移表,01代表输入1,10代表输入10,11代表输入100,写出该电路功能检测序列1001仿真输出波形如图所示这两天是很多保研同学成绩结果出来的日子,作为在大学成绩不好的废物,恭喜别人也没人理我,我决定从这篇开始,每天都练习数电题目的仿真。另外我在硬禾课堂看见用FPGA学习数电的课程,仿真环境用Lattice,埋个坑在这儿。...原创 2020-10-14 21:09:21 · 7011 阅读 · 0 评论 -
运行Lattice Diamond时报错 License checkout failed的解决方法
定位license.dat文件出错,打开环境变量,找到LM_LICENSE_FILE进行编辑,删去错误位置,保留license.dat文件的正确地址原创 2020-10-14 19:03:43 · 5740 阅读 · 2 评论 -
环,模,补码,负数的表示与减法实现
假设M是n-bit数的模,比如16是4bit二进制数的模,8是3bit二进制数的模,即从000->111,111+1=1000,超过3bit的那个1被舍弃回到000,0到7首位相连就形成一个环, 模的概念与一个环类似,M+B=-M+B=B,相当于一个时钟(模12)来回拨-1模8是7,-2模8是6,13模8是5,0模8是0,模可以认为是数的规模,一条数字可以这样无限延伸下去数轴正半轴是0开头,负半轴是1开头1000定义为-8,这样可以保证正数个数和负数个数相等同时满足负数从1开头的规律M-B又.原创 2020-10-13 11:01:35 · 572 阅读 · 0 评论 -
quartus仿真18:仿真简单D触发器和JK触发器输出的波形
由于quartus的D触发器没有Q反端,得手动在Q端接反相器输出,题目来源于课本,写出状态方程画出波形最开始我连这道题都是抄答案的,深刻反省自己。quartus里时钟上升沿触发,加个反相器改为下降沿触发...原创 2020-10-11 20:39:30 · 3026 阅读 · 0 评论 -
quartus仿真17:T触发器的时序逻辑电路
米里型,下降沿触发在时钟端接反相器,调用器件为TFF,分析方法写出三组方程然后画出状态表摩尔型与输入无关,波形更光滑可以看出即使只用两个触发器状态输出依然是很复杂的原创 2020-10-11 19:58:14 · 3289 阅读 · 0 评论 -
简述隐含表法化简状态步骤
输出结果是否相同,不相同全部×掉把剩余需要考虑的状态填入表中相同状态不填,如S0S1一栏不填S2循环不填,S3S4一栏不填S3/S4不断循环如S0S1里有S2S3,S2S3里有S0S1可看作状态相同,下图没有展示不断划去状直到梯行格里无状态,最后写出等价状态并只保留一个状态,将状态表中删去的状态替换为保留的状态...原创 2020-10-11 16:51:24 · 11142 阅读 · 0 评论 -
quartus仿真16:基于全加器和D触发器的串行加法器
课本上的一道例题,上课时没听懂,用quartus仿真一遍quartus仿真波形正确输入稍微推后到时钟上升沿进行对比,波形一致原创 2020-10-10 19:30:49 · 1468 阅读 · 1 评论 -
quartus仿真15:全加器和半加器及如何生成符号文件
第一种方法直接生成全加器仿真参数的设置,Multiplied by分别设为1,2,4生成符号文件的方法File|Create/Update|Create Symbol Files for Current File,保存为BSF文件,取名为FA。再插入Symbol可以看出在Project下可以看到名为FA的模块,而adder_1为我创建工程的名字。第二种办法用半加器生成全加器,先生成半加器仿真结果和功能表一致根据半加器构成全加器的原理连线并仿真,波形图与功能表一致保..原创 2020-10-10 11:34:04 · 7454 阅读 · 0 评论 -
quartus打开Simulator Tool生成网表进行功能仿真
Processing|Simulator Tool打开仿真工具,由Timing(时序仿真)选择Functional(功能仿真),点击生成网表Generate .. Netlist原创 2020-10-10 10:57:00 · 2672 阅读 · 1 评论 -
quartus仿真14:D触发器实现序列检测
可重复序列101的检测,PPT来自西电孙万蓉老师,我补充了状态分配并根据输出方程和激励方程画出电路图,最后仿真波形Z和PPT上相同。慕课里还经过了状态化简等一系列步骤,我这是最原始版本的仿真可重复的序列1111的检测,来自我课本《数字电路与系统设计》的一道题目(实话实说,我觉得这本书写得很烂,但是其他教材好像更烂)。这道题目有个坑点在于输出从D反端引出,误以为次态方程也需要取反。最后一步往往是画出状态转换图你才能理解这个电路想表达什么,波形图的输出序列Z即代表了本题答案。...原创 2020-10-09 20:34:52 · 5151 阅读 · 1 评论 -
quartus仿真13:D触发器和JK触发器
最开始调用的是7474,但quartus里展现的是集成的芯片管脚而非课本上D触发器的样子。我试着用单片的JK触发器7473仿真也出来了结果,总感觉不太直观,在一番搜索后终于明白如何调用D触发器——直接搜DFF,它在另一个库里面。这些器件设计的还是不太行,没有Q反端,必要时候还是得调用芯片,或者在Q端接反相器。下图是点进去看7473o的内部构造。原理分析,摘自西电数电慕课环型计数器根据求解的基本步骤画出状态转移图,仿真波形和分析波形一致,仅展现循环的部分老师在EWB的仿..原创 2020-10-09 11:38:02 · 12565 阅读 · 0 评论 -
(Electronic WorkBench)EWB仿真JK触发器
根据原理图实现模8加1计数器,来源于西电慕课貌似这个软件只有5.0和5.12两个版本。在win10下拖曳器件会发生残影的现象,而且无法修改连线。虽然有自动连线功能但感觉线连的挺乱的。但好在它有quartus没有的CD系列芯片如我们做实验用过的CD4015开关按钮开始仿真,调用逻辑分析仪查看波形,与multisim有点类似但连线还是quartus整齐,以及命名线的端口的方式...原创 2020-10-08 19:52:07 · 1828 阅读 · 0 评论 -
quartus调用D触发器DFF和JK触发器JKFF
D触发器库里名称DFF,我猜应该是D Flip-Flop的简写完整方法,新建bdf文件,Edit|Insert Symbol|Name:dff。路径是../libraries/primitives/storage/dff调用JK触发器同理jkff,还有T触发器TFF,但好像时钟端都是上升沿触发。...原创 2020-10-08 10:37:27 · 8820 阅读 · 0 评论 -
quartus仿真12:74194典型应用(全0检测电路等)
移位寄存器74194只有左右方向,没有高低位如图上顺序,右移往右边移动Q0Q1Q2上的数到Q1Q2Q3,SR到Q0,同时S1S0=01,查看功能表可知第二种增加计数功能,但无法解决0000自循环的问题,S1还得输入脉冲实现置数功能经典自校正环形计数器同时也为全0检测电路,观察主循环前三位为0时改移入1打破0循环环型计数器又称脉冲分配器N位移位寄存器构成的环形计数器最大模值Mmax=NQ3拉回SR过程取反实现扭环形计数器无法解决自校正问题,置数脉冲输入信号..原创 2020-10-07 19:47:41 · 5893 阅读 · 0 评论 -
quartus仿真9:74161基本功能
对应西电数电慕课从14讲集成计数器到15讲分频器同步级联与异步级联同步级联RCO1和P2T2相连,当Q3Q2Q1Q0=1111时RCO1=1则Q4=1异步级联RCO1’=CLK2,毛刺应该造成了影响不接反相器出现如下情况异步清零法模9状态需要一个暂态1001使得清零信号为0,CLR’=QD’QA’,过渡态和零状态在一个周期里具有自启动能力,但是仿真波形出错同步置数法清零初值不能改变,置数可以置任意数,置数端和初值端均可修改数值初值为0,终值为9D=1001B.原创 2020-10-06 20:49:29 · 8153 阅读 · 0 评论