![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数电
文章平均质量分 72
数电
CQU_JIAKE
这个家伙不是很懒,只是最后依然也没有留下什么
展开
-
12.19~1.5数字逻辑先兆
补码反码计算,八进制二进制等转换化简,加两杠进行,与或转换最小项,定义,m0,m3什么意思代码说明,第一行的times意义什么组合逻辑,时序逻辑,区别。输出决定于什么组合逻辑器件,哪些属于组合逻辑或时序逻辑的器件编码器,译码器电线类型,module,代码翻译,描述几方面信息触发器,特征方程的描述状态机,有限状态机,两类状态机定义于区别异步,在边沿检测中异步竞争冒险定义,现象,描述代码,会生成什么电路,赋值方式导致电路不一样。原创 2024-01-05 16:17:02 · 807 阅读 · 0 评论 -
1.3一些器件verliog代码
D触发器分频器T触发器和8位二进制计数器移位寄存器原创 2024-01-05 17:52:25 · 296 阅读 · 0 评论 -
1.4补码范围,溢出,补码加减法、加法器、竞争与冒险、杂项
正数三码合一负数的原码有1的符号位,反码为除了符号位以外全部取反,补码在反码的基础上再加1移码的符号位中0表示负数,1表示正数,简单来说,原码的补码数值位不变,符号位取反就是移码。对于8位寄存器:原码表示范围为 -127-127,即1111 1111~0111 1111反码表示范围为 -127-127,即1000 0000~0111 1111补码表示范围为 -128-127,即1000 0000~0111 1111。原创 2024-01-05 22:45:00 · 977 阅读 · 0 评论 -
1.3进制,码(8421),化简规则、卡诺图化简、性质,触发器(转换与设计、应用),电路图,电路设计
前面这个非阻塞,会生成两个触发器,一前一后,前面的确定B,后面的确定C,B的D信号是A,C的D信号是B后面的就一个触发器,D信号是A,然后出来两个输出信号,一个C一个B第一题注意或与式标的是0,圈0,然后目的是要使式子为0,要找使式子为0的变量取值,1对应的是最后表达式里的非,0对应的是正第二题,一共四个状态,初始,1,11,111,然后用两个状态分量第一题,四位计数器,就是4位的cnt,if(!rst)else beginif(en)elsecnt<=cnt;endend。原创 2024-01-06 00:00:00 · 1287 阅读 · 0 评论 -
1.1加法器(半加器,全加器,串行进位,超前进位),运算(乘法转位运算,求最小公倍数),序列检测器、发生器,时钟分频(任意奇数分频,状态机实现),电路图分析(据RTL写,脉冲同步,时钟切换),并串转换
这个实际上就是相当于一次反转,即有效时,就反转一下当前的信号,不有效时就保持,所以实际上是和T触发器差不多的,即这个传入DATA_IN信号,要用D触发器时,要选择一下,处理一下才能作为D信号,而如果是T触发器,就直接把DATA_IN作为T信号即可,为高电平时反转就行。就是注意CLK端,然后输入信号由于有三目表达式,所以用二路选择器,注意选择信号(就是三目表达式里的判断式子),然后接上01信号,最后输出Q,以及复位信号,时钟信号的输入都标对。就是先依据格雷码得到二进制码,格雷码转二进制,保留最左边不变;原创 2024-01-05 16:28:42 · 922 阅读 · 0 评论 -
12.31信号位宽转换(整数,非整数),时钟分频(奇数,偶数,任意小数,占空比),自动售货机(1,2),游戏机
所谓非整数倍,就是利用一个cnt去周期性决定寄存器里怎么输出,寄存器就正常的寄存,怎么输入怎么寄存为什么不需要2个8bit的寄存器进行数据缓存:根据时序图, data_out是在两个数据输入之后的下一个时钟周期产生输出,如果采用两个寄存器缓存两个数据,那么第二个数据还没缓存进寄存器后就要输出数据,这样不能实现满足时序要求的数据输出。根据时序图,数据是在第二个数据到来之后输出,当仅有一个数据到来时,不产生输出,所以内部设计一个计数器(valid_cnt),用来指示数据接收状态。原创 2024-01-01 13:40:34 · 1535 阅读 · 0 评论 -
12.30序列检测(重叠、不重叠、连续、不连续、含无关项)——移位寄存器,状态机;状态机(二段式,三段式)
主要区别在于。原创 2023-12-31 17:39:56 · 870 阅读 · 0 评论 -
12.21自动售货机,单物品,多物品
一种思路是用寄存器cnt记录已有的最小单位货币量,这里就是0.5当d1时,cnt+1;d2时,cnt+2;d3时,cnt+4;这里注意,d1,d2,d3都是以脉冲的形式,即只会接受一个时间步里,检测也都是。原创 2023-12-30 16:49:37 · 362 阅读 · 0 评论 -
12.12进制(原反补码,运算,进制转换),卡诺图化简,组合逻辑电路(竞争冒险,分析、设计方法),杂项
负数的反码除去符号位都取反。原创 2023-12-12 13:42:08 · 202 阅读 · 0 评论 -
12.1电梯控制器——文档记录
状态声明中,s表示电梯此时运行状态为停止,u表示此时状态为上升,d表示此时状态为下降(之所以设置为4位是与floor信号统一,为了方便后续数码管显示此时电梯运行状态),floor为位宽为4的信号,采用独热编码,只保留1位为1,表示电梯此时停留在相应位的楼层上。数码管最左侧显示当前电梯运行状况,为D(0)时,表示为DOWN,即下降,为U时,表示为UP,为S(5)时,表示为STOP;顶层文件串联起对应的模块,消抖模块用于消除按键抖动,lift模块用于实现电梯的运行状态转换与楼层移动,并输出电梯此时的运行状态;原创 2023-12-10 10:26:14 · 196 阅读 · 1 评论 -
11.22数电第四次报告
就MOORE与MEALY的不同点,MOORE状态机的输出要在下个时间步里才会输出,例如序列1101000,U16并非在第四个时间步里亮,而是在第五个时间步里亮,这是因为MOORE机的输出仅取决于现态;Clk为时钟信号,rst为复位信号,en为使能信号,datain为输入的8位信号,dataout显示此时转化出的位上的数是否为1,dout显示这8位信号里是否有1101;R2为复位开关,T1为使能开关,V2~V17从左至右为输出的8位信号的低位到高位,T17为模拟时钟信号,按一次表示一个时间步;原创 2023-11-28 05:00:00 · 291 阅读 · 0 评论 -
12.5单端口RAM,JS计数器,流水线乘法器,不重叠序列检测器(状态机+移位寄存器),信号发生器,交通灯
不是的话,就判断是不是等于19,是的话复位到0,不然就保持,这样实现出来的话,每个周期下,前半个周期是低电平,只有到cnt==9时,wave在下个周期设置为20,才会在后半个周期显示为高电平。因为要match时,是要取反的是当下周期,但是由于是非阻塞,此时macth是上个周期的,但非阻塞,就会导致下个Not_match取反的就是上个周期的match而不是当下周期的,下个周期的match取反才是需要的。不然就是==0成立,然后判断cnt是不是等于19,如果是的话,就复位,重新计数,不然就+1。原创 2023-12-05 16:15:06 · 140 阅读 · 0 评论 -
11.26电梯控制器设计分析
就是初始默认在1楼,然后用几个开关模拟第几楼,打开就意味着这个楼在呼叫电梯,下面的按键应该是每个楼的使能,然后那4个键才是呼叫,目的是为了防止处于一直呼叫的状态。是一个8个元素的数组,每个元素都是一个5位宽的寄存器。呼叫进楼后,从队列头部取出元素,并进入等待状态,在等待状态里,要输入要去的楼层,并放进队列当中。队列取出来的元素,是要去的目标楼,只有到了目标楼,才会把其从队列头部中取出。用一个序列,为呼叫序列,这个序列最长为5,因为只有5个楼层,然后是要输入元素,每次输入元素,是要整进移位寄存器的末尾,原创 2023-12-01 21:36:47 · 104 阅读 · 0 评论 -
11.21序列检测,状态机比较与代码,按键消抖原理
用一个atemp存储之前的所有状态,即之前出现的七位。原创 2023-11-22 00:11:41 · 163 阅读 · 0 评论 -
11.13ASM图,FSM的一些verliog实现,串并转换
状态机的状态就不用编码,而是用参数的定义进行转换。原创 2023-11-16 19:15:55 · 123 阅读 · 0 评论 -
2023.11.10按键消抖
用一个按键作为一个启动检测信号,另一个按键来模拟clk信号,检测开关序列中是否有1101;按下启动检测信号后,每按一次模拟clk的按键,便传入一个开关的值意思就是说,按键有8个,表示一个8位的序列这8位的信号,通过并转串模块转为一个信号,并转串要在上升沿把8位数据锁存起来然后还有一个按键来模拟clk,米里状态机的次态,输出与输入和现态有关。摩尔状态机只与现态有关,即不断的输入只会不断的改变现态,现态满足一定条件时,就会输出。原创 2024-01-10 00:10:41 · 344 阅读 · 0 评论 -
11.9乘法器实验总结(流水线,for移位)
而若循环实现的乘法器采用移位存储的方式,则二者(同位数下)功率差距并不大,即优化后的循环乘法器若采用移位存储的方式,那么每次循环中都不需要移动i位,而只需要在上一次循环的基础上只移动一位即可,但整体而言相比同位的流水线乘法器还有一定的系统功率差距。比对两种实现方式的RTL级电路图可以发现,for循环的乘法器本质为转为不断的循环累加,故最终电路长度很长,取决于循环,即累加的次数;而对于流水线乘法器,虽然本质也是累加,但是为两两累加,一级一级的累加,操作次数折半减少,形成树形结构,所以可以很好地缩短电路长度。原创 2023-11-14 00:00:00 · 283 阅读 · 0 评论 -
11.9存储器实验总结(单ram,双ram,FIFO)
文件结构为。原创 2023-11-09 23:51:35 · 188 阅读 · 0 评论 -
11.8旧有报错与修改
我将uart_done(出问题的信号)的变量类型设为reg了,也就是我是这个信号的,这样做是错误的,哪怕你在接收模块确实定义的是reg类型,但是在顶层模块的时候,它可以视为是一条单纯的线而已,原创 2023-11-08 21:16:51 · 213 阅读 · 0 评论 -
11.7加减计数器,可置位~,数字钟分秒,串转并,串累加转并,24位串并128,流水乘法器,一些乘法器
信号发生器方波,就是一段时间内都输出相同的信号锯齿波就是递增三角波就是先增后减。原创 2023-11-07 21:52:47 · 637 阅读 · 0 评论 -
11.7移位寄存器,计数器,时序分析,状态机,verliog实现
移位寄存器,可以将寄存的Q信号逐位输出。原创 2023-11-07 10:56:54 · 704 阅读 · 0 评论 -
11.6FIFO错误,报错与规范复盘(always)
停止时,不应该让读地址回到0因为所谓队列为空,只是逻辑上为空,实际上并不是空,实际上依然存着之前存的数据如果让读地址回到0,就会导致显示为不空,即读写地址不一致,然后再读一遍到写的地址,读完之后回到0,再读一遍的循环结束时就是要让读地址和写地址重合,这样就没问题了。原创 2023-11-06 11:35:31 · 853 阅读 · 0 评论 -
11.5序列检测、含无关项~,不重叠~,报错,always模板与经验复盘
a是一位的信号,检测连续的一串信号遍历法从第一位往后不断和目标串比较。原创 2023-11-06 10:08:33 · 331 阅读 · 0 评论 -
11.1~11.2数电实验一些点+11.4~11.5报错复盘
方框写在前面是说这个数有多大,写在后面是说这类数有多少前面的用于计数,每位无实际意义;后面每位都代表一个同类型的,即数组,每位有实际意义使用四位格雷码作为深度为8的FIFO的读写指针将格雷码转换成四位二进制数,使用二进制数低三位作为访问RAM的地址声明两个初级信号如果能写,就接着写,让waddr_bin+1如果能读,就接着读,让raddr_bin+1声明格雷码信号与读写指针,即让原码与原码向左移位一位后的码的异或,按位与。原创 2023-11-05 15:30:54 · 141 阅读 · 0 评论 -
10.26数字钟设计,数电第二次实验总结
实验七 数字钟设计(*****)实现一个六十进制数字时钟,秒到 60 则归零重加,同时让分加1,分加到60归零重加,并让小时加 1,小时加到24归零重加。要求用数码管1,0显示秒值,数码管3,2显示分值,小时以十六进制形式显示在led灯上。原创 2023-10-26 20:33:32 · 1211 阅读 · 0 评论 -
11.1~11.2双端口RAM(报错复盘,一些理解(循环,阻塞非阻塞),三目运算符解决使能端)
分别用于读写数据,同时进行当读使能端有效时可以读出来数据当写使能端有效时可以覆写数据读写并行操作。原创 2023-11-03 15:40:41 · 445 阅读 · 0 评论 -
10.31同步异步清零,阻塞与非阻塞例子,ROM,RAM,边沿检测实现
就是当复位信号发生变化,从1到0时立刻进行复位,negedge触发模块,即可工作;但如果到0后一直没有发生变化,即保持为0,那么就是在不断的时钟上升沿触发电路,但是都会因为复位信号为0,使进行!rst_n的初始化操作,而不会进行正常工作。只有当复位信号重新变为1时,才会停止对电路的不断复位,进行电路的正常工作,直到复位信号再次从1到0,触发电路的复位。原创 2023-11-01 20:52:56 · 1115 阅读 · 0 评论 -
10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码
always的block之间,采用并行执行always之内,采用非阻塞赋值,为顺序执行。原创 2023-10-31 10:04:35 · 379 阅读 · 0 评论 -
10.30寄存器,寄存器堆
8位环形移位寄存器输入有时钟,复位,D信号,输出为处理后的信号左移,环形,首尾相连正常工作的语句,把最高位移到了最低位,其余整体往往前移了一位右移。原创 2023-11-01 20:54:00 · 144 阅读 · 0 评论 -
10.27~10.29数电第三次实验分析与问题
A.同步,异步是对于时钟而言的。同步指的是,状态的变化需要等待时钟有效沿来触发,所有动作同时跟随这个时钟变化,而异步时,状态变化不依赖与时钟。异步清零说的是,你需要对一个计数器在满足某种条件时想要他归零,但又不需要等下一个时钟过来,是一个条件满足就立即执行的过程;同步置数,比如你想让计数器采用置数法实现任一模计数,你要设置一个条件,计数记到1001时实现置数,但是,当计数器记到1001的时候,不能立马置数,要等下一个时钟有效沿来,你的条件才能生效,才能完成置数!原创 2023-10-30 21:29:24 · 178 阅读 · 0 评论 -
10.25verilog复习,代码规范复盘,触发器复习
输入是线性,wire,输出较复杂需要之前的状态,不仅仅是由当下输入来的信号的与或非组合而成的,需要保存之前状态的,输出类型是reg。比如计数器,需要在之前计数的基础上再加1,所以是reg型,但输入是wirewire就是起到一个信号传递的作用,它不保存信号而reg会在一定条件下保存信号即就是用wire去接收信号,处理信号,转化信号用reg(时序逻辑,与之前状态有关,需要存储)原创 2023-10-26 20:27:59 · 1041 阅读 · 1 评论 -
10.21~10.22数电第二次实验结果
因为它们要触发,是最小时间单位都可以,但最小时间单位的改变不一定引起其发生改变,其要改变,一是到了进制要归0,二是普通加一。逻辑上不该是每个最小单位产生一次,而是接邻的发生改变时改变一次,但是要每个实际秒都要产生一组信号,所以在触发时是都要时刻产生。而对于其他的高位秒,低位分,高位分等,都多一种情况是保持原态。对于紧邻最小时间单位的低位秒,除了到了进制归0就是加1。比如低位秒,应该是实际秒发生改变时改变,高位秒是低位秒发生改变时改变,原创 2023-10-22 18:34:10 · 74 阅读 · 0 评论 -
10.18~10.22数电第二次实验
数码管不能同时亮是因为4个数码管是串接在一起的,如果同时亮,那么产生的控制信号同时控制4个数码管,即四个数码管显示的是同一个内容,所以需要控制每次只亮一个,4个里只亮1个,亮的就是控制它亮的部分。就是说,需要输出1个四位的信号(表示数码管上的使能信号,决定此时是哪个数码管在亮),1个八位的信号(表示那个亮的数码管显示什么内容的信号),1个八位的信号(表示LED亮的信号,是表示小时的信号)而LED是并连在一起的,也就是说,LED各自有控制信号,所以不会互相影响,可以同时亮,而数码管不可以。原创 2023-10-22 18:30:18 · 653 阅读 · 0 评论 -
分频流水灯
当数到1e8,即0~9999 9999时,分频后的周期过去了一个,就是说在相同的时间内,小周期进行了1e8次,大周期才进一次,每次周期都包含0和1的部分,都是1在周期前半部分,0在周期后半部分.在开发板中,有一个内置的时钟周期,为100MHZ,我们需要使用这样一个时钟信号来设计一个1HZ的流水灯(使用8个led灯),也就是一秒钟有一个灯是亮起的,依次从左到右。一个周期包含一次翻转,即在一个周期中,时钟信号有一半时间是1,一半时间是0,才能有上升沿与下降沿检测出来。思路是这样的,既然是100MHZ,也就是。原创 2023-10-20 16:34:41 · 363 阅读 · 0 评论 -
10.17七段数码管单个&多个(部分)
一端并接称为位码;一端分别接收电平信号以控制灯的亮灭,称为段码8421BCD码转七段数码管段码是将BCD码表示的十进制数转换成七段LED数码管的7个驱动段码就是LED灯的信号a为1表示没用到a,a为0表示用到了a灯就是说在B1B2B3B4组成怎样的BCD码时,才会不用到a灯就得到各个灯与输入的BCD码之间的关系。原创 2023-10-17 20:13:20 · 1311 阅读 · 0 评论 -
10.17课上(七段显示器,递归异或与电路)
用二选一选择器实现异或函数(由此在算法当中可以采用递归解决)当w1为0时,就直接把w1消掉,对剩余项无影响;当w1为1时,把后面运算的结果取反当w2为0时,就直接把w2消掉,只剩下w3,根据前面w1,w2的情况确定是正还是反如果前面有0个1,就是都直接消掉,没影响,输出为w3有1个1时,取反一次,输出为w3的反有2个1时,取反两次,输出为w3两个2-4译码器和一个1-2译码器构建为3-8译码器四个2-4译码器和一个2-4译码器构建为4-16译码器。原创 2023-10-17 11:30:12 · 1197 阅读 · 0 评论 -
10.15~10.16Block Design流程总结,报错复盘
首先需要IP核,即一个一个块要生成一个一个块,就要让不同的块文件作为顶层设计文件进行仿真,这样才能确定接下来要实现的是哪个块每个块都在各自的压缩文件里然后在设计时,需要把那些IP核的压缩文件放到一个压缩文件里再把这个压缩文件导入设计文件里,就可以开始Block DesignPROJECT2表示当前大文件的名称,.srcs是存放在其中,封装的IP核就在大文件.src里,是一个压缩文件这一步是说选哪个文件进行封装,选current就是封装现在文件的ip核,选第三个就是选指定文件的ip核。原创 2023-10-17 09:14:01 · 591 阅读 · 0 评论 -
10.14~10.15verilog操作流程与Block Design
后面的那个是延时精度文件名称与写的模板没有关系,这个文件名为P1,但模板名为andgate但是如果是仿真文件,就需要开头的模板名和仿真文件名相同.v是源文件,设计文件.v在设计与sim里都有,静态共享,是.v当中的设计文件在其中都有,而仿真,调用文件只在sim里有。什么文件的后缀名都是.v,因为都是verliog实现的,也就是说仿真文件在创建的时候也是.v,和源文件没区别,只是在具体写的时候,写完的时候,计算机才能识别出哪个是仿真文件,哪个是设计文件。没有实现新函数方法,只调用已有方法的是仿真文件创建,设计原创 2023-10-15 23:11:01 · 516 阅读 · 0 评论 -
10.9~10.10
也就是说如果要建立j-k触发器的激励方程,首先还是直接根据次态和现态输入,确定次态方程,如果选D就直接是D信号,但是可以转换为JK触发器,根据这个固定不变的次态方程,即顺序是次态方程到激励方程,而非激励方程到次态方程,且次态方程的卡诺图是好求的。先根据卡诺图,卡诺图里有现态和输入,现态包括所有分量,然后圈这个确定某一个状态分量的情况1,之后就卡诺图得到次态和现态与输入的关系式,根据这个关系式可以构建不同的触发器,就是同一个方程可以有不同的写法,就是不同的触发器。根据现态和次态可以确定T信号,即激励信号。原创 2023-10-11 19:08:30 · 190 阅读 · 0 评论 -
(主)9.26锁存器&状态机方法、题解大综合(加码加码加码)
J-K是基于现有状态,从中完成对下个次态的选择(通过作为D信号与D触发器实现);R-S是基于是否选择对信号进行强制赋值(或非门,1反转强制赋值为0),来实现对电路状态的保存与改变。原创 2023-09-26 21:15:09 · 221 阅读 · 0 评论