2 - 组合逻辑代码设计和仿真
2 - 组合逻辑代码设计和仿真
用问号冒号语句实现二选一:
用 always 语句块实现组合逻辑:
用 if-else 实现二选一:
//2021.11.17 lyw
//2 choose 1 logic design
`timescale 1ns/10ps
module fn_sw (a,b,sel,y
);
input a;
input b;
input sel;
output y;//use 'assign' to implement combinatorial logic
//assign y=sel?(a^b):(a&b);//use 'always' to implement combinatorial logic
reg y;
always @(a or b or sel) beginif(sel == 1)beginy <= a^b;endelse beginy <= a&b;end
endendmodule//------testbench of fn_sw-----
module fn_sw_tb;
reg a,b,sel;
wire y;
fn_sw fn_sw (.a(a),.b(b),.sel(sel),.y(y)
);initial begina=0;b=0;sel=0;#10 a=0;b=0;sel=1;#10 a=0;b=1;sel=0;#10 a=0;b=1;sel=1;#10 a=1;b=0;sel=0;#10 a=1;b=0;sel=1;#10 a=1;b=1;sel=0;#10 a=1;b=1;sel=1;#10 $stop;
endendmodule
二选一仿真波形:
四选一组合逻辑实现:
四选一代码:
关键:用 case 语句实现多路选择,以及用 always # 语句遍历逻辑值。
//2021.11.17 lyw
//4 choose 1
`timescale 1ns/10ps
module fn_sw_4 (a,b,sel,y
);input a;input b;input[1:0] sel;output y;reg y;always @(a or b or sel) begincase (sel)2'b00: begin y=a&b; end2'b01: begin y=a|b; end2'b10: begin y=a^b; end2'b11: begin y=~(a^b); endendcaseendendmodule//-----testbench of fn_sw_4---------
module fn_sw_4_tb;
reg[3:0] absel;
wire yy;
fn_sw_4 fn_sw_4 (.a(absel[0]),.b(absel[1]),.sel(absel[3:2]),.y(yy)
);
initial beginabsel<=0;#200 $stop;
endalways #10 absel<=absel+1;endmodule
四选一仿真波形:
PS:
学习内容总结自网络,主讲教师为北京交通大学李金城老师。
2 - 组合逻辑代码设计和仿真相关推荐
- 3 - 组合逻辑代码设计和仿真
3 - 组合逻辑代码设计和仿真 补码转换 代码: //2021.11.18 lyw //Complement conversion `timescale 1ns/10ps module comp_co ...
- 【Verilog零基础入门-边看边练】学习笔记——第三讲 组合逻辑代码设计和仿真(补码转换和七段译码逻辑设计)(二)
二.七段译码逻辑设计 所需软件 Verilog编程软件:Lattice Diamond(3.11.0.396.4_Diamond_x64) Verilog仿真软件:ModelSim SE-64 10. ...
- 1 - 基本逻辑门代码设计和仿真
1 - 基本逻辑门代码设计和仿真 设计流程的改变: 反相器: 八位反相器: 与非门: 四位与非门: 位逻辑操作运算符: 多位宽电路符号图画法(打斜杠写数字): 代码结构: 时间作者 module 功能 ...
- Verilog RTL 代码设计示例
实验一.做一个4选1的mux,并且进行波形仿真和2选1的mux对比,观察资源消耗的变化 四选一mux代码如下: RTL视图如下: 波形仿真如下: 2选1的mux资源消耗情况: 4选1的mux资源消耗情 ...
- Verilog RTL 代码设计新手上路
1. 做一个4选1的mux,并且进行波形仿真 和2选1的mux对比,观察资源消耗的变化: 实验分析:4选1的mux实际上就是在2选1的mux上进行拓展,选用2位的控制信号控制4位输入信号的选 ...
- 基于matlab的捷联惯导算法设计及仿真,基于 Matlab 的捷联惯导算法设计及仿真1doc.doc...
基于 Matlab 的捷联惯导算法设计及仿真1doc 基于 Matlab 的捷联惯导算法设计及仿真1 严恭敏 西北工业大学航海学院,西安 (710072) E-mail:yangongmin@163. ...
- verilog扰码器设计及仿真
本设计使用verilog语言实现扰码器设计与仿真 本工程在quartusII下实现并在modelsim下进行仿真 设计中包括加扰器和解扰器模块.仿真测试模块等. 下面是工程截图: 下面是modelsi ...
- coreldraw的线条怎么变成圆头_智能设计 | 建模仿真(3):力学仿真
原标题:智能设计 | 建模&仿真(3):力学仿真 智能设计| 建模& 仿真(3) :力学仿真 刘肖健 浙江工业大学 1. 案例描述 画出"磁场的形态",大致如下图所 ...
- Qt设计机器人仿真控制器——按键控制机器人关节转动
1.引言及本文简介 在上两篇博客里,Jungle介绍了Qt键盘事件,并在小程序中应用Qt键盘事件监测按键输入: Qt键盘事件(一)--检测按键输入及解决无法响应方向键问题 Qt键盘事件(二)--长按按 ...
最新文章
- jenkins+ant+git+android搭建笔记
- 瑞士的迷人风光(转)
- USB接口芯片的选型参考(Z)
- 前端学习(1888)vue之电商管理系统电商系统之在sessionStrorage中保存按钮的激活状态
- 网页防篡改测试报告(2008版)
- Windows配置MinGW环境变量
- 物联网领域不断扩展,ATT很“兴奋”
- Dynamics 365Online 模板(Template)可以下载了
- Yii路由之LimeSurvey去掉烦人的/index.php/*
- 备战面试日记(4.2.13)- (框架.Spring【十三】之Spring IOC 源码finishBeanFactoryInitialization())
- 计算机视觉-实验四(相机模型与参数标定)
- bzoj 1864 三色二叉树
- 使用DAX(Power BI)的移动平均线
- 数据挖掘实战:员工离职预测(训练赛)
- 基于k-means的大数据客户细分 - python 数据挖掘
- springboot项目在外部tomcat运行出现的问题
- plc串口通讯 qt_QT与PLC通信
- 银行卡支付之连连支付
- 年月日、年积日、简化儒略日、GPS周之间相互转换(C++)
- 在2020年开发像TikTok这样的移动应用需要花多少钱?
热门文章
- [网摘收藏]10款超实用的服务器监控工具和软件
- LoadRunner运行场景报错处理方式
- 原生支持Linux的音乐软件,Linux 下五款轻量级音乐播放器(开源)
- Python 编码规范(Google)
- 如何在Excel/WPS表格中批量查询顺丰快递信息?
- 获取浏览器原生滚动条宽度的方法
- HDC1080传感器使用
- 领慧立芯LH32M0SXX:压力变送器,测温及称重的单片解决方案
- 安卓手机来电防火墙_iPhone 超酷炫的来电闪光灯,安卓手机也可以玩了。
- 北京化工大学 计算机专硕 缺额,北京化工大学2020年硕士研究生调剂工作办法