学校数电实验要求用quatrus做这个玩意,百度了一圈找不到,最后还是翻了会书给自己做出来了。
数值比较器是什么东西想必不用赘述了,4位数值比较器的原理图如下:
相信没有人会想直接在quatrus里面照着这个玩意画电路图吧?没关系,让我们用一点更简单的方法。
首先我们需要了解quatrus的一个功能:为当前文件创建符号文件(Create Symbol Files for Current File)
这能够将你当前打开(不需要设置为顶层实体之类的,鼠标点一下就行)的bdf文件生成为一个新的组件。创建完成后,在bdf文件中添加组件时就可以看到这个组件了(左上角的Libraries选框中找到Project)
顺带一提,生成的组件对应的输入输出端就是之前用于生成这个组件的bdf文件的输入和输出,请保证每个输入端都接上一个input,不需要的输出端可以直接删除。此外,生成的组件中,输入输出端的显示顺序和之前bdf文件中输入输出端的顺序相同。
有了这种操作,我们就可以很方便地把位数较少的器件级联成位数较多的器件了。
让我们看看二位数值比较器的逻辑电路图:(输入输出看不清的看上一张图就行了)
原理百度百科都有,这里就不讲了。其中,数字A1A0和B1B0将进行比较,A1、B1为高位。En为控制信号端,En为高电平时电路正常工作,En为低电平时输出全部为低电平。aSmaller为1时代表 A1A0 比 B1B0 小,其他两个输出端同理。
将这个bdf文件生成为符号文件后,我们就得到了一个2位比较器。
按照如图所示的方法将即可这个二位比较器级联为四位比较器:
此后如果有需求的话还可以把这个bdf文件再生成一个新的组件。
其他版本的quatrus操作大同小异,用9.0版本是学校要求(