verilog学习笔记:简单的数据选择器modelsim仿真
如图所示,画出框图,有sel、in_1、in_2三个输出入,sel为选通器、in为信号,sel为高电平时输出in_1,否则输出in_2;
利用if语句实现该过程,代码如下:
module mux2_1
(input wire [0:0] in_1 ,//输入信号1input wire [0:0] in_2 ,//输入信号2input wire [0:0] sel ,//选通信号output reg [0:0] out //输出信号
);//out:输出信号always@(sel,in_1,in_2)if (sel==1'b1)beginout=in_1;endelse beginout=in_2;end
endmodule
将代码导入quartusII进行编译成功,然后添加仿真代码:
`timescale 1ns/1ns
module tb_mux2_1 ();reg in_1 ;reg in_2 ;reg sel ;wire out ;initial beginin_1<=1'b0;in_2<=1'b0;sel<=1'b0;endalways #10 in_1<={$random}%2;always #10 in_2<={$random}%2;always #10 sel<={$random}%2;initial begin$timeformat(-9,0,"ns",6);$monitor("@time %t:in_1=%b in_2=%b sel=%b out=%b",$time,in_1,in_2,sel,out);endmux2_1 mux2_1_inst(.in_1 (in_1 ),//输入信号1.in_2 (in_2 ),//输入信号2.sel (sel ),//选通信号.out (out ) //输出信号);
endmodule
利用modelsim仿真结果如下:
文字仿真表达结果:
# run 1 us
# @time 0ns:in_1=0 in_2=0 sel=0 out=0
# @time 10ns:in_1=0 in_2=1 sel=1 out=0
# @time 20ns:in_1=1 in_2=1 sel=1 out=1
# @time 30ns:in_1=1 in_2=0 sel=1 out=1
# @time 60ns:in_1=0 in_2=1 sel=0 out=1
# @time 70ns:in_1=1 in_2=1 sel=0 out=1
# @time 80ns:in_1=1 in_2=0 sel=0 out=0
# @time 90ns:in_1=0 in_2=1 sel=0 out=1
# @time 100ns:in_1=1 in_2=1 sel=1 out=1
# @time 110ns:in_1=1 in_2=0 sel=0 out=0
# @time 120ns:in_1=0 in_2=0 sel=1 out=0
# @time 130ns:in_1=0 in_2=1 sel=1 out=0
# @time 140ns:in_1=1 in_2=1 sel=1 out=1
# @time 150ns:in_1=0 in_2=0 sel=1 out=0
# @time 160ns:in_1=1 in_2=1 sel=0 out=1
# @time 170ns:in_1=0 in_2=0 sel=0 out=0
# @time 180ns:in_1=0 in_2=1 sel=0 out=1
# @time 190ns:in_1=0 in_2=1 sel=1 out=0
# @time 200ns:in_1=0 in_2=0 sel=0 out=0
# @time 210ns:in_1=0 in_2=0 sel=1 out=0
# @time 220ns:in_1=1 in_2=1 sel=1 out=1
# @time 230ns:in_1=1 in_2=0 sel=0 out=0
# @time 240ns:in_1=1 in_2=1 sel=1 out=1
# @time 250ns:in_1=0 in_2=0 sel=1 out=0
# @time 260ns:in_1=1 in_2=0 sel=1 out=1
# @time 280ns:in_1=1 in_2=1 sel=0 out=1
# @time 300ns:in_1=0 in_2=0 sel=0 out=0
# @time 310ns:in_1=1 in_2=1 sel=0 out=1
# @time 320ns:in_1=0 in_2=1 sel=1 out=0
# @time 330ns:in_1=1 in_2=1 sel=1 out=1
# @time 340ns:in_1=0 in_2=1 sel=1 out=0
# @time 350ns:in_1=1 in_2=0 sel=0 out=0
# @time 360ns:in_1=0 in_2=0 sel=0 out=0
# @time 370ns:in_1=0 in_2=0 sel=1 out=0
# @time 380ns:in_1=1 in_2=1 sel=1 out=1
# @time 390ns:in_1=1 in_2=0 sel=1 out=1
# @time 400ns:in_1=1 in_2=0 sel=0 out=0
# @time 410ns:in_1=1 in_2=1 sel=0 out=1
# @time 420ns:in_1=1 in_2=1 sel=1 out=1
# @time 430ns:in_1=1 in_2=0 sel=0 out=0
# @time 440ns:in_1=0 in_2=1 sel=0 out=1
# @time 450ns:in_1=0 in_2=0 sel=1 out=0
# @time 460ns:in_1=1 in_2=0 sel=0 out=0
# @time 480ns:in_1=0 in_2=1 sel=0 out=1
# @time 500ns:in_1=1 in_2=1 sel=1 out=1
# @time 510ns:in_1=1 in_2=1 sel=0 out=1
# @time 520ns:in_1=0 in_2=0 sel=1 out=0
# @time 540ns:in_1=1 in_2=0 sel=0 out=0
# @time 550ns:in_1=0 in_2=1 sel=1 out=0
# @time 560ns:in_1=0 in_2=0 sel=0 out=0
# @time 570ns:in_1=1 in_2=1 sel=0 out=1
# @time 580ns:in_1=0 in_2=0 sel=1 out=0
# @time 600ns:in_1=0 in_2=0 sel=0 out=0
# @time 610ns:in_1=1 in_2=0 sel=1 out=1
# @time 620ns:in_1=1 in_2=0 sel=0 out=0
# @time 630ns:in_1=0 in_2=0 sel=1 out=0
# @time 640ns:in_1=0 in_2=0 sel=0 out=0
# @time 650ns:in_1=0 in_2=1 sel=1 out=0
# @time 660ns:in_1=1 in_2=0 sel=1 out=1
# @time 670ns:in_1=1 in_2=1 sel=0 out=1
# @time 680ns:in_1=0 in_2=1 sel=1 out=0
# @time 690ns:in_1=1 in_2=1 sel=1 out=1
# @time 700ns:in_1=0 in_2=1 sel=1 out=0
# @time 710ns:in_1=0 in_2=0 sel=0 out=0
# @time 720ns:in_1=0 in_2=1 sel=1 out=0
# @time 730ns:in_1=0 in_2=0 sel=1 out=0
# @time 770ns:in_1=1 in_2=1 sel=0 out=1
# @time 780ns:in_1=0 in_2=0 sel=1 out=0
# @time 800ns:in_1=0 in_2=0 sel=0 out=0
# @time 810ns:in_1=0 in_2=1 sel=0 out=1
# @time 820ns:in_1=0 in_2=0 sel=1 out=0
# @time 830ns:in_1=1 in_2=0 sel=1 out=1
# @time 840ns:in_1=1 in_2=1 sel=1 out=1
# @time 850ns:in_1=0 in_2=1 sel=1 out=0
# @time 860ns:in_1=1 in_2=0 sel=0 out=0
# @time 880ns:in_1=1 in_2=1 sel=0 out=1
# @time 890ns:in_1=0 in_2=1 sel=0 out=1
# @time 910ns:in_1=1 in_2=1 sel=0 out=1
# @time 920ns:in_1=1 in_2=0 sel=1 out=1
# @time 930ns:in_1=0 in_2=0 sel=1 out=0
# @time 940ns:in_1=0 in_2=0 sel=0 out=0
# @time 950ns:in_1=1 in_2=1 sel=1 out=1
# @time 960ns:in_1=1 in_2=1 sel=0 out=1
# @time 970ns:in_1=1 in_2=1 sel=1 out=1
# @time 980ns:in_1=0 in_2=0 sel=0 out=0
# Causality operation skipped due to absence of debug database file
分析结果可知仿真成功,结束。
verilog学习笔记:简单的数据选择器modelsim仿真相关推荐
- Verilog学习笔记——入门
Verilog学习笔记 01 基本逻辑门代码设计与仿真 Veriog基本逻辑门代码结构--以一位反相器为例 ModelSim仿真基本流程 02 组合逻辑代码设计与仿真--多路选择器 二选一逻辑--as ...
- 【Verilog学习笔记】D触发器(门级和行为级)+4位寄存器+一个完整的激励程序
[Verilog学习笔记]D触发器(门级和行为级)+4位寄存器+一个完整的激励程序 首先展示以下完整的程序 `timescale 1ns / 1psmodule hardreg( input wire ...
- Verilog学习笔记
Verilog学习笔记 本文根据学习菜鸟教程下Verilog教程总结得到,主要记载一些硬件语言描述下的骚操作,仅供学习. 归约操作符 归约操作符包括:归约与(&),归约与非( ~ &) ...
- oracle数据库开多线程,学习笔记:Oracle表数据导入 DBA常用单线程插入 多线程插入 sql loader三种表数据导入案例...
天萃荷净 oracle之数据导入,汇总开发DBA在向表中导入大量数据的案例,如:单线程向数据库中插入数据,多线程向数据表中插入数据,使用sql loader数据表中导入数据案例 1.Oracle数据库 ...
- Vue学习笔记入门篇——数据及DOM
本文为转载,原文:Vue学习笔记入门篇--数据及DOM 数据 data 类型 Object | Function 详细 Vue 实例的数据对象.Vue 将会递归将 data 的属性转换为 getter ...
- vs2010 学习Silverlight学习笔记(11):数据与通信之WebClient
概要: 基础知识终于学完了,我今天又从第一篇看到第十篇,发现明白了一些东西,还有忘记了部分东西.呵呵,咱不能猴子掰玉米,学了新的忘记旧的.要经常去复习,去用.这一篇是数据通信部分的第一篇,有些东西没接 ...
- HALCON 21.11:深度学习笔记---Data(数据)(3)
HALCON 21.11:深度学习笔记---Data(数据)(3) HALCON 21.11.0.0中,实现了深度学习方法.其中,关于术语"数据"的介绍如下: 术语"数据 ...
- 【学习笔记】大数据技术之Scala(下)
[学习笔记]大数据技术之Scala(上) 大数据技术之Scala 第 6 章 面向对象 6.1 Scala 包 6.1.1 包的命名 6.1.2 包说明(包语句) 6.1.3 包对象 6.1.4 导包 ...
- CCC3.0学习笔记_证书数据
CCC3.0学习笔记_证书数据 系列文章目录 文章目录 系列文章目录 前言 1. [A] - SE Root CA Certificate 2. [B] - SE Root Certificate 3 ...
最新文章
- 工业机器人运动规划方法简述
- jsp+servlet+mysql增删改查
- ZJOI2013 防守战线
- 如何分配和释放存储空间
- Java枚举(深刻而不深沉平淡而不平庸)
- ora-01092: oracle 实例终止.强制断开连接,undo表空间故障特殊恢复(二)------ORA-01092: ORACLE 实例终止。强制断开连接...
- 手机应用UI设计示例+模板|为了在下一个应用程序设计项目找到灵感
- 活动目录(LiveFolder)
- 文本文档如何运行c语言代码,文本文档代码写好了怎么运行
- c++股票数据接口逻辑是什么
- nxp的bluetooth驱动调试
- JDF的实质与走向(转)
- Hangfire Pro 2022-08-31 update
- 笔记本ghostwin10系统后只有C盘了别的盘的数据怎样找到
- centos7 修改连接数_centos7+rsyslog+loganalyzer+mysql 搭建rsyslog日志服务器 - 夜空守望者2020...
- 北漂生活-租房那些事
- MFC com控件类
- 俄17岁少年推出网聊新招
- Abaqus常用命令
- virgo tomcat下载