【Verilog零基础入门-边看边练】学习笔记——第三讲 组合逻辑代码设计和仿真(补码转换和七段译码逻辑设计)(二)
二、七段译码逻辑设计
所需软件
Verilog编程软件:Lattice Diamond(3.11.0.396.4_Diamond_x64)
Verilog仿真软件:ModelSim SE-64 10.2c(modelsim-win64-10.2c-se)
方法:用case语句实现七段译码逻辑设计
符号图:
Verilog代码:
Part1:Test7_seg_dec.v文件(Verilog工程文件)
//2022-05-27
//7段数码管译码器
module Test7_seg_dec(num,a_g);
input[3:0] num; //定义4位的输入变量:num
output[6:0] a_g; //定义7位的输出变量:a_g
reg[6:0] a_g; //a_g[6:0]->{a,b,c,d,e,f,g}。因要用always语句块对a_g赋值,因此需要将a_g定义为reg型变量。//虽然a_g定义成了reg型,但因有case语句,故仍是组合逻辑。always@(num) begin //当always语句中的敏感变量num发生变化时,逻辑信号开始变化case(num) //用case语句实现组合逻辑4'd0: begin a_g<=7'b1111110; end //当num为十进制的0时,a_g输出为1111110,数码管显示0。4'd1: begin a_g<=7'b0110000; end //当num为十进制的1时,a_g输出为011_0000,数码管显示1。 4'd2: begin a_g<=7'b1101101; end //当num为十进制的2时,a_g输出为110_1101,数码管显示2。 4'd3: begin a_g<=7'b1111001; end //当num为十进制的3时,a_g输出为111_1001,数码管显示3。4'd4: begin a_g<=7'b0010011; end //当num为十进制的4时,a_g输出为001_0011,数码管显示4。4'd5: begin a_g<=7'b1011011; end //当num为十进制的5时,a_g输出为101_1011,数码管显示5。4'd6: begin a_g<=7'b1011111; end //当num为十进制的6时,a_g输出为101_1111,数码管显示6。4'd7: begin a_g<=7'b1110000; end //当num为十进制的7时,a_g输出为111_0000,数码管显示7。4'd8: begin a_g<=7'b1111111; end //当num为十进制的8时,a_g输出为111_1111,数码管显示8。4'd9: begin a_g<=7'b1111011; end //当num为十进制的9时,a_g输出为111_1011,数码管显示9。//Verilog中的数字表达式:<位宽><进制><数字>//'b:二进制,eg 4'b1010,表示4位二进制数1010//'h:十六进制,eg 8'hef、4'ha//'d:十进制,eg 2'd3(二位的十进制数3)、4'd15(不能写16,4位最大是15,意为十进制数15,0000001111)default: begin a_g<=7'b0000001; end //当num不在0-9范围时,a_g输出为000_0001,数码管显示中杠“-”。endcase
endendmodule
Part2:Test7_seg_dec_tb.v文件(Verilog仿真文件)
//2022-05-27
//7段数码管译码器--testbench of Test7_seg_dec
`timescale 1ns/10ps
module Test7_seg_dec_tb;
reg[3:0] num_in; //仿真输入变量
wire[6:0] a_g_out; //仿真输出变量Test7_seg_dec Test7_seg_dec(.num(num_in),.a_g(a_g_out));
initial beginnum_in<=0; //定义输入变量初值为0,即当num为十进制的0时。#150 $stop; //定义仿真时长为150ns。//注:七段数码管可显示10种阿拉伯数字(0~9),令每种数字显示10ns,加上输入default显示中杠“-”占用的10ns,故110ns即可遍历一轮仿真。endalways #10 num_in<=num_in+1; //每过10ns,输入变量的值就加1。endmodule
仿真波形:
注意事项
1、//Verilog中的数字表达式:<位宽><进制><数字>
//'b:二进制,比如4'b1010,表示4位二进制数1010。
//'h:十六进制,比如8'hef、4'ha。
//'d:十进制,eg 2'd5(二位的十进制数5)、4'd15(不能写16,4位最大是15,意为十进制数15,0000001111)
2、七段数码管可显示10种数字(0~9),令每种数字显示10ns,加上输入default显示中杠“-”占用的10ns,故110ns即可遍历一轮仿真。
原教学视频链接如下
Verilog零基础入门_哔哩哔哩_bilibili
【Verilog零基础入门-边看边练】学习笔记——第三讲 组合逻辑代码设计和仿真(补码转换和七段译码逻辑设计)(二)相关推荐
- Verilog学习笔记(3)Modelsim仿真_补码转换_七段译码逻辑设计
1.组合逻辑代码设计和仿真 1.1补码转换 正数补码与原码相同; 负数补码转换方法是符号位不变,幅度位按位取反加1; 代码: //补码转换逻辑 module comp_conv( a , a_comp ...
- Python零基础入门(三)——函数[学习笔记]
目录: 一.函数: 1.内置函数 2.定义函数 二.函数参数: 1.必选参数 2.默认参数 3.可变参数/任意参数 4.关键字参数 三.return语句 四.函数封装 1.导入整个模块 2.导入特定的 ...
- 怎么安装python_零基础入门必看篇:浅析python,PyCharm,Anaconda三者之间关系
今天为大家带来的内容是:零基础入门必看篇:浅析python ,PyCharm,Anaconda三者之间关系 众所周知,Python是一种跨平台的计算机程序设计语言,简单来说,python就是类似于C, ...
- 《零基础学JavaScript(全彩版)》学习笔记
<零基础学JavaScript(全彩版)>学习笔记 二〇一九年二月九日星期六0时9分 前期: 刚刚学完<零基础学HTML5+CSS3(全彩版)>,准备开始学习JavaScrip ...
- 2022年最新最全的Java零基础入门,零基础入门springboot,MySQL的学习
今天就来开始带领大家零基础入门Java开发 写在前面 为什么学习Java Java用途很广泛,如下图所示,Java可以做很多工作 JAVA语言发展史 2019年3月,JDK12版本发布. 2019年9 ...
- 《C#零基础入门之百识百例》(四十四)静态类 -- 温度单位转换
C#零基础入门 类和对象 -- 静态类 -- 温度转换 前言 一,静态类 1.1 静态构造函数 1.2 遵守规则 二,实例练习 -- 温度单位转换 2.1 题目描述 2.2 问题分析 2.3 参考代码 ...
- 零基础自学python看什么书-学习Python可以看书籍学习吗?老男孩Python入门课程
在人工智能和数据分析的带领之下,推动了互联网市场的发展,也推动了python语言的发展,让它成为了市场上炙手可热的编程语言. 而python具有入门简单.就业范围广泛.薪资水平高诸多优势,越来越多的人 ...
- 20200404零基础入门数据挖掘 - 二手车交易价格预测笔记(5)
五.模型融合 5.1 模型融合目标 对于多种调参完成的模型进行模型融合,因为多个模型组合在一起通常可以产生更强大的模型. 5.2 内容介绍 模型融合是比赛后期一个重要的环节,大体来说有如下的类型方式. ...
- Python 零基础入门到实战(一)笔记:内置对象、浅拷贝、深拷贝、计算圆面积、凯撒密码、英文大小写转换、输入国家打印出国家名和首都、输入数字英文输出、统计句子中的字母数量、猜随机数
Python入门到实战(一) 为什么写这篇文章 Part 1 入门部分 什么是编程语言? Python的优势 目前应用 特点 Part 2 6种内置对象 1 整数.浮点数 2 字符串 3 列表 4 元 ...
最新文章
- Flutter初体验(二)—— 创建第一个Flutter APP
- javascript实现的一个带下拉框功能的文本框
- Java基础案例教程
- linux抓包提示没有权限,linux下wireshark不用sudo权限抓包包
- 百度AI快车道深圳实战班启动,用极致技术打造实用产品
- 运动目标跟踪(十四)--MIL跟踪
- 深入理解二阶段提交协议(DDB对XA悬挂事务的处理分析)(一)
- VIM文本编辑器相关命令实验总结
- Java题库(为了这辈子能吃上俩个菜好好学Java)
- 030_《Delphi COM深入编程》
- 【历史上的今天】5 月 23 日:Java 正式发布;晶体管的共同发明者出生
- Unity3DCPU优化方法相关理论知识
- 新核心业务系统数据架构规划与数据治理
- Scrum团队成立3.0
- 请收下,700+页PDF社区精化!
- 数据资产管理体系方案
- PAT-ADVANCED1011——World Cup Betting
- Palm OS Develop Suite 入门配置
- 《Delphi 版 everything、光速搜索代码》 关于获取文件全路径 GetFullFileName 函数的优化
- 中央民族大学 软件工程专业研究生停止招生!计算机改科目!