数电第二周总结_CC

重点:

模块实例化、仿真测试、数值表示、参数、表达式、

  • 模块实例化端口连接方法:

    A.顺序端口连接:需严格按照模块定义时的顺序

    B.明明端口连接:对端口信号顺序不做要求

Ex-1
//通过例化二路选择器(mux21)实现四路选择器(mux41)。要求采用“名称连接方式”进行例化。
module mux41(
input a, b, c, d, sel0, sel1,
output out); mux21 mux1(
.data0(a),
.data1(b),
.sel(sel0 & ~sel1),
.out(out0)); mux21 mux2(
.data0(out0),
.data1(c),
.sel(~sel0 & sel1),
.out(out1)); mux21 mux3(
.data0(out1),
.data1(d),
.sel(~sel0 & ~sel1),
.out(out2)); assign out = out2; endmodule
  • 仿真测试: 测试通过Verilog编写的电路功能是否正确

Ex-2
// 为四路选择器(mux41)编写测试平台,验证其功能正确性。
module mux41_tb();
reg a, b, c, d, sel0, sel1;
wire out; mux41 u1(out, a, b, c, d, sel0, sel1);
initial begin
a=0; b=1; c=1; d=1; sel0=1; sel1=1;
#10 a=1; b=0; c=1; d=1; sel0=0; sel1=1;
#10 a=1; b=0; c=1; d=0; sel0=1; sel1=0;
#10 a=1; b=1; c=0; d=1; sel0=0; sel1=0;
#10 a=0; b=1; c=0; d=1; sel0=1; sel1=1;
#10 a=1; b=0; c=0; d=0; sel0=0; sel1=1;
#10 a=0; b=1; c=1; d=1; sel0=1; sel1=1;
#10 a=0; b=0; c=1; d=1; sel0=1; sel1=0;
#10 a=0; b=0; c=0; d=0; sel0=1; sel1=0;
#10 a=0; b=0; c=0; d=0; sel0=0; sel1=0; //Q:为什么需要添加这样的复位操作?
end initial
$display($time, "a=%b b=%b c=%b d=%b sel0=%b sel1=%b out=%b", a, b, c, d, sel0, sel1, out); endmodule
  • 数值表示——进制:

  (1) 4'b1001表示的十进制数为:\(\underline 9\)

  (2) -4'b1001表示的十进制数为:\(\underline {-7}\)

  (3) 4'sb1001表示的十进制数为:\(\underline {-7}\)

  (4) -4'sb1001表示的十进制数为:\(\underline 7\)

  • 数值表示——位宽对齐:

    • 位宽大于实际位数:最高位为x/z,左补x/z;最高位为0/1,左补0.
    • 位宽小于实际位数:低位截断.
  • 参数:

// 参数的申明
module AAAA
#(
parameter MSB=3,
parameter LSB=0
)
(
input [MSB:LSB] in,
input clk,
output [MSB:LSB] out,
output full, empty
);
......
endmodule // 参数传递——顺序列表连接
AAAA
#(MSB3, LSB2) //不可直接写后者,会对前者的值进行覆盖
AAAA_inst(
.in(in),
.clk(clk),
.out(out),
.full(full),
.empty(empty)
); // 参数传递——参数名称连接
AAAA
#(.MSB(MSB3),
.LSB(LSB2)) //无关乎先后顺序
.in(in),
.clk(clk),
.out(out),
.full(full),
.empty(empty)
);
  • 表达式:

      A.算术运算符:

    以下式为例:

\[{
Y = (A + C) + (B + D)
}\]

    \({(A+C)+(B+D)}\)的结果长度取每个操作的最大操作数的长度,最终\(Y\)的结果取决于\(Y\)的长度。

    B.位运算: 输出长度取决于输入




    C.逻辑运算: 输出长度为1

    D.缩位运算: 单目运算

    E.关系运算符:

    F.移位运算符:

    G.拼接运算符:


    H.条件运算符: (? :)

运算符练习题:

  已知变量定义为:reg [3:0] a, b; reg [2:0] c; reg[4:0] d; 若a = 4'b0000; b = 4'b1101; c = 3'b100; d = b + c; 请给出下列函数的对应二进制输出

  (1) (b + c) 输出结果为:\(\underline {0001}\)

  (2) d 输出结果为: \(\underline {10001}\)

  (3) (d? c : a) 输出结果为:\(\underline {0100}\)

  (4) (d? a : c) 输出结果为:\(\underline {0000}\)

  已知d=6'001010,e=5'bx1100,$display(d|e): 6b'0x1110

数电第二周总结_by_yc的更多相关文章

  1. 模电&数电知识整理(不定期更新)

    模电总复习之爱课堂题目概念整理 Chapter 1 1) 设室温情况下某二极管的反偏电压绝对值为1V,则当其反偏电压值减少100mV时,反向电流的变化是基本不发生变化. 2) 二极管发生击穿后,在击穿 ...

  2. python课程第二周重点记录

    python课程第二周重点记录 1.元组的元素不可被修改,元组的元素的元素可以被修改(字典在元组中,字典的值可以被修改) 2.个人感觉方便做加密解密 3.一些方法的使用 sb = "name ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  5. 20145330孙文馨 《Java程序设计》第二周学习总结

    20145330孙文馨第二周学习总结 第二周相比于第一周对java语言有了深一点的了解,也意识到多敲代码才是学习计算机语言的最好方法. 教材内容总结 类型.变量与运算符 *基本类型 整数(short. ...

  6. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  7. 20169212《Linux内核原理与分析》第二周作业

    <Linux内核原理与分析>第二周作业 这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?由于本科对相关知识的不熟悉,所以感觉有的知识理解起来了有一定的难度,不过多查查资 ...

  8. 20145218 《Java程序设计》第二周学习总结

    Java中的注释格式 单行注释 //注释文字 多行注释 /注释文字/ 文档注释 /**注释文字*/ 注释不仅仅是对代码进行解释,在上一篇博客中也写过,注释也可以用来检查程序中的错误,可以说是一个小窍门 ...

  9. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

  10. 20155304田宜楠 2006-2007-2 《Java程序设计》第二周学习总结

    20155304田宜楠 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一.类型与变量 1.类型 整数: 可细分为为short整数(占2字节),int整数(占 ...

随机推荐

  1. Visual Studio 2022 Community 不完全攻略

    0. 前言 建议结合视频阅读哦 Visual Studio 2022 Community 不完全攻略 有问题或者意见欢迎评论 ! 1. 下载&安装 Visual Studio Communit ...

  2. thinkphp5.1 cookie跨域、thinkphp5.1 session跨域、tp5.1cookie跨域

    cookie跨域: //config/cookie.php return [ //... //仅7.3.0及以上适用 'samesite' => 'None', //是否加密cookie值,fa ...

  3. Java 加载、编辑和保存WPS表格文件(.et/.ett)

    WPS表格文件是金山开发的专门用于处理表格数据的Office工具,属于WPS Office中WPS文字.WPS表格和WPS演示三大功能模块之一.通常以.et和.ett作为文件后缀.我们在通过后端来操作 ...

  4. 四、frp内网穿透服务端frps.ini各配置参数详解

    [必须]标识头[common]是不可或缺的部分 [必须]服务器IPbind_addr = 0.0.0.00.0.0.0为服务器全局所有IP可用,假如你的服务器有多个IP则可以这样做,或者填写为指定其中 ...

  5. jumpserver 2222端口的使用

    可以这样理解: 通过在jumpserver的web界面添加的用户,相应的也有权限通过远程使用命令的方式登陆jumpserver,进行相应的管理,只不过使用的端口是2222端口,不是常见的22端口. 一 ...

  6. Alertmanager篇

    报一直是整个监控系统中的重要组成部分,Prometheus监控系统中,采集与警报是分离的.警报规则在 Prometheus 定义,警报规则触发以后,才会将信息转发到给独立的组件 Alertmanage ...

  7. C字符串和C++中string的区别

    在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作.以下是C字符串和C++中string的区别:   C字符串 string对象(C++) 所需的头文件名称 ...

  8. HYSBZ1036 [ZJOI2008]树的统计(树链剖分)

    将树通过树链剖分转化成线性序列,用线段树维护最值,和值即可. 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int N ...

  9. 从0开始写一个简单的vite hmr 插件

    从0开始写一个简单的vite hmr 插件 0. 写在前面 在构建前端项目的时候,除开基本的资源格式(图片,json)以外,还常常会需要导入一些其他格式的资源,这些资源如果没有第三方vite插件的支持 ...

  10. 齐博软件 著名的老牌CMS开源系统 X1.0基于thinkphp开发的高性能免费开源PHP开放平台齐博x1.0基于thinkphp框架开发的高性能免费开源系统 主推圈子 论坛 预定拼团分销商城模块

    齐博X1--标签变量大全 1.网站名称: {$webdb.webname} 2.网址: {$webdb[www_url]} {:get_url('home')} 3.网站SEO关键词: 首页:{$we ...