【数电实验3】Verilog—1位十进制可逆计数器

article/2025/3/20 23:33:40

【2022.04西南交大数电实验】

【2022.04.17 更新修改了一个错误:

assign CO = (upd & (Q == 4'd9)) | (~upd & (Q == 4'd0) & ~clr);

~clr改为了clr:

assign CO = (upd & (Q == 4'd9)) | (~upd & (Q == 4'd0) & clr);

另外 ,把代码修得整齐好看了一点】

【代码参考博主weixin_49270464,已进行适当修改,符合实验要求。本代码及波形已通过老师验收。仅供参考。】

module yck_1716_3_1(codeout, Q, clkin, clr, CO, upd, en, load, data);input clkin, clr, upd, en, load;input [3: 0] data;output [6: 0] codeout;output [3: 0] Q;output CO; yck_1716_3_3(clkin, clr, Q, CO, upd, en, load, data);yck_1716_3_2(codeout, Q);
endmodule
module yck_1716_3_3(clkin, clr, Q, CO, upd, en, load, data);   //十进制计数器input  clkin, clr, upd, en, load;input  [3: 0] data;output [3: 0] Q;reg [3: 0] Q;output wire CO;always@(posedge clkin, negedge clr)if(!clr)			//异步清零Q <= 4'd0;else if(!load)		//同步置数(若为低电平则直接赋值,数码管显示本时刻数值)Q <= data;else if(en)		    //使能(en高电平)beginif(upd)			//同步置数,加法计数(upd=1)beginif(Q == 4'd9)Q <= 4'd0;elseQ <= Q + 4'd1;endelse			//同步置数,减法计数(upd=0)beginif(Q == 4'd0)Q <= 4'd9;elseQ <= Q - 4'd1;endendassign CO = (upd & (Q == 4'd9)) | (~upd & (Q == 4'd0) & clr); 	//(upd为高电平且Q为9)或者(upd为低电平且Q为0且clk为0)
endmodule
module yck_1716_3_2(codeout, Indec);  //译码器input [3: 0] Indec;output [6: 0] codeout;reg [6: 0] codeout;always@(Indec)begincase(Indec)	4'b0000: codeout = 7'b1111110;4'b0001: codeout = 7'b0110000;4'b0010: codeout = 7'b1101101;4'b0011: codeout = 7'b1111001;4'b0100: codeout = 7'b0110011;4'b0101: codeout = 7'b1011011;4'b0110: codeout = 7'b1011111;4'b0111: codeout = 7'b1110000;4'b1000: codeout = 7'b1111111;4'b1001: codeout = 7'b1111011;default: codeout = 7'bx;endcaseend
endmodule

  

信号名

主板器件

PIN

信号名

主板器件

PIN

clr

SW0

PIN_24

codeout[3]

d

PIN_111

en

SW1

PIN_31

codeout[4]

c

PIN_104

upd

SW2

PIN_30

codeout[5]

b

PIN_100

load

SW3

PIN_33

codeout[6]

a

PIN_112

CO

IO4/LED4

PIN_58

clkin

CLK0

PIN_88

q[0]

IO0/LED0

PIN_46

data[3]

SW7

PIN_44

q[1]

IO1/LED1

PIN_50

data[2]

SW6

PIN_39

q[2]

IO2/LED2

PIN_52

data[1]

SW5

PIN_42

q[3]

IO3/LED3

PIN_54

data[0]

SW4

PIN_32

codeout[0]

g

PIN_103

codeout[1]

f

PIN_110

codeout[2]

e

PIN_106

PS.注意实验箱是否故障,及时更换,不要浪费时间。


http://chatgpt.dhexx.cn/article/riCmsrHR.shtml

相关文章

数电实验三-点亮四个数码管(Multisim和Basys3)

【ChatGPT】前些天发现了一个巨牛的人工智能学习电子书&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;无广告&#xff0c;忍不住分享一下给大家。&#xff08;点击查看学习资料&#xff09; 特别说明&#xff1a;该系列内容均是本人实验记录&#xff0c;无盗取侵权之嫌…

数电实验八 译码显示电路(2)点阵的原理和应用

仅作笔记用途。 器件&#xff1a;16*16 点阵、74LS138 、74LS00 等。 注&#xff1a;proteus上用4个8*8点阵组合为16*16点阵时&#xff0c;要先旋转8*8点阵直到其行有效电平为高&#xff0c;列有效电平为低才和实验箱上的一致&#xff0c;并且针脚分别控制哪几行哪几列也需要…

数电实验--Verilog第一次实验验收题目汇总

【本人只是想自己总结一下&#xff0c;大部分代码和原理图来源于教程https://www.stepfpga.com/doc】 1、点亮LED 目的&#xff1a;利用开发板上的四个拨码开关和四个按键分别控制8个LED灯的亮灭&#xff08;按键按下时输出高电平&#xff0c;LED亮&#xff09;。 module LE…

桂电 数电实验 期末考试 试卷+解析(74LS192 + 74LS153 + 74LS139 + 74LS00 / 74LS20)

目录 考试注意事项 A卷 74LS192 74LS00 B卷 74LS153 74LS00 / 74LS20 74LS139 C卷 74LS153 74LS00 / 74LS20 74LS139 课程感悟 考试注意事项 1.考试前请检查实验箱号和仪器号与座位号是否一样&#xff0c;不一样请请示老师更换; 2.请自行检查导线、芯片、仪器的…

数电实验大作业2-实验十一 电子密码锁

实验要求..在下面这个链接里: http://docs.google.com/fileview?id=0B_IAvxLi-MonMjhmMDM5OTgtNzgyMC00MTMwLWJiNGItMmUxODQ4MGY2ZmUz&hl=zh_CN 完整的实验报告: 1. 电子锁功能要求 l 2种工作模式,可以设置和校验密码 l 密码长度为8位,内容为数字1-9,分别对应9个微动开…

数电出题??自启动问题

题目 用一片74LS195寄存器和一片八选一数据选择器&#xff0c;设计一个移存型计数器&#xff0c;要求状态转移规律为&#xff1a;1→2→4→9→3→6→12→8→1→2……设计要求自启动&#xff0c;画出逻辑图。 知识点 中规模移位寄存器实现序列信号发生器的设计&#xff0c;数…

数字电路实验怎么接线视频讲解_家庭影院中音箱、功放、投影机、4K播放机不知道怎么连接?手把手教你...

家庭影院中音箱、功放、投影机、4K播放机不知道怎么连接&#xff1f;手把手教你 有不少用户收到从家庭影院器材之后&#xff0c;表示完全不会连接。翻看说明书也觉得头大&#xff0c;知识太多&#xff0c;然而却很难找到要点。 今天主要跟大家讲讲如何连接音箱、功放、投影机和…

共阴极数码管,学号显示实验

【实例简介】 文件&#xff1a;590m.com/f/25127180-489944078-ccc9ce&#xff08;访问密码&#xff1a;551685&#xff09; 以下内容无关&#xff1a; -------------------------------------------分割线--------------------------------------------- 1.1 Webpack是什么…

数电实验(四)利用集成数值比较器74LS85设计一个4位数值比较器

数电实验&#xff08;四&#xff09;利用集成数值比较器74LS85设计一个4位数值比较器 要求&#xff1a; 1、输入为两个4位二进制数&#xff0c;分别接四个逻辑电平开关&#xff0c;同时接数码管 2、 输出和LED相连 Multisim仿真&#xff1a;

数电实验:数字时钟设计 (经验分享,仅供参考)

实 验 目 的 一、独立完成一个数字小系统的设计 二、基于实验箱对设计进行验证 实验内容: 能够显示时、分、秒共6位数字&#xff1b; 考虑使用实验箱时钟&#xff08;频率包括1M、500K、 250K、100K、10K、1K等&#xff09;&#xff1b; 考虑使用实验箱数码管输出接口。 …

(数电实验报告)电子琴设计 Verilog

实验名称 电子琴设计—任务1 1.设计思路 预置分频比 音名 分频系数(3Mhz) 中音 高音 1 11468 5736 2 10215 5111 3 9102 4552 4 8591 4289 5 7653 3827 6 6818 3409 7 6073 3037 理论频率对照表 音名 频率(Hz) 中音 高音 1 261.63 523.25 2 293.66 587.33 3 329.63 659.26 4…

数电实验六:利用MSI设计组合逻辑电路

转载自https://wu-kan.cn/_posts/2018-08-27-利用MSI设计组合逻辑电路/ 数字电子技术实验报告 实验题目&#xff1a;利用MSI设计组合逻辑电路 预习报告 内容一&#xff1a;74LS138相关 逻辑真值表 | S 2 S_2 S2​| S 1 S_1 S1​| S 0 S_0 S0​| Y 0 Y_0 Y0​| Y 1 Y_1 Y1​…

数电实验4:彩灯控制器设计

数电实验4&#xff1a;彩灯控制器设计 一、实验目的二、实验内容三、预习要求四、实验报告要求五、Verilog代码、RTL视图及仿真波形1.Verilog代码2.RTL视图3.仿真波形 西南交大数电实验————《数字电路与计算机组成原理》 一、实验目的 巩固组合逻辑电路设计、仿真方法.学…

数电实验四 - 四个数码管同时独立显示(触发器)

一、 实验目的 1. 通过实验观察&#xff0c;发现 Basys3 的四个七段数码管中的各个发光二极管码段的性能对实验方案的约束。 2. 利用实验一中的经验&#xff0c;判断刷新周期&#xff08;四个数码管循环点亮一次的时间叫做刷新周期&#xff09;取值下限。 3. 学会使用触发…

数电第一次实验

新建一个元件&#xff0c;首先要确定是元件模式&#xff0c;点击。 然后点击下方红色框的P 然后会弹出一个弹窗&#xff1a; 然后选择点击如下&#xff1a; 然后单击右下方确定。鼠标会变成一个铅笔&#xff0c;左键单击一次&#xff0c;会出现&#xff1a; 在自己需要的地方&a…

【数电实验】组合逻辑电路

实验二 组合逻辑电路 一 实验目的 1 掌握组合逻辑电路的设计方法&#xff1b; 2 学习译码显示电路的应用。 二 实验内容 1 设计发电机控制电路 &#xff08;1&#xff09;逻辑抽象真值表 将3个车间设为A、B、C&#xff0c;2个发电机设为M、N。由题目可知车间开工数和启动…

数电实验一 - 初识Multisim和Basys3

一、实验目的 1. 安装 Multisim 软件及其与 Basys 3 连接的软件 2. 学会在 Multisim 中进行数字电路仿真 3. 验证逻辑门电路的逻辑功能 4. 学会将电路下载到 Basys 3 硬件中查看运行结果。 二、实验仪器设备 软件&#xff1a;Multisim 14.1 Education Edition 软件&am…

数电实验二-点亮一个数码管(Multisim和Basys3 )

前些天发现了一个巨牛的人工智能学习电子书&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;无广告&#xff0c;忍不住分享一下给大家。&#xff08;点击查看学习资料&#xff09; 特别说明&#xff1a;该系列内容均是本人实验记录&#xff0c;无盗取侵权之嫌&#xff0…

数字电路EDA开发设计实验箱QY-JXSY01B

一、QY-JXSY01B数字电路EDA开发设计实验箱简介 1、电源:交流输入:220V10% 、50Hz;直流输出:12V/0.3A 、 5V/2A 2、手动单脉冲电路2组:每组可同时输出正负两个脉冲,脉冲幅值为TTL电平。 3、固定频率脉冲源7路,输出均为TTL电平:1Hz、10Hz、100Hz、1KHz、10KHz、100KHz、1…

数电实验:密码保险箱

1.设计理念 通过拨动开关输入由四位二进制表示的密码&#xff0c;然后按键确认输入并校验。 如果校验通过&#xff0c;则led不亮&#xff0c;数码led显示0提示开锁。 如果校验失败&#xff0c;则数码led不亮&#xff0c;led全亮&#xff0c;启动报警&#xff0c;直到输入正确密…