模块的结构数据类型变量和基本运算符

上传人:宝路 文档编号:48329720 上传时间:2018-07-13 格式:PPT 页数:43 大小:189.04KB
返回 下载 相关 举报
模块的结构数据类型变量和基本运算符_第1页
第1页 / 共43页
模块的结构数据类型变量和基本运算符_第2页
第2页 / 共43页
模块的结构数据类型变量和基本运算符_第3页
第3页 / 共43页
模块的结构数据类型变量和基本运算符_第4页
第4页 / 共43页
模块的结构数据类型变量和基本运算符_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《模块的结构数据类型变量和基本运算符》由会员分享,可在线阅读,更多相关《模块的结构数据类型变量和基本运算符(43页珍藏版)》请在金锄头文库上搜索。

1、第三章第三章 模块的模块的结构、数据类型、结构、数据类型、 变量和基本运算符变量和基本运算符3.1 3.1 模块的模块的结构结构module 模块名(端口信息端口信息); 输入输入/ /输出说明输出说明内部信号声明内部信号声明逻辑功能描述逻辑功能描述 endmoduleendmoduleVerilog 模块由两部分组成:端口信息和内部功能。abcdemodule block1(a, b, c, d, e);input a, b, c;output d, e;assign d = a | ( b assign e = ( b endmodule3.1 3.1 模块的模块的结构结构 Verilog

2、 Verilog 模块的结构由在模块的结构由在modulemodule和和endmodule endmodule 关键词之间的四个主要部分组成:关键词之间的四个主要部分组成:- - 端口信息:端口信息: module block1(a, b, c, d ); module block1(a, b, c, d );- - 输入输入/ /输出说明输出说明 : input a, b, c ;input a, b, c ;output d ; output d ;- - 内部信号:内部信号: wire x; wire x;- - 功能定义:功能定义: assign d = a | x ; assign

3、 d = a | x ;assign x = ( b assign x = ( b endmodule endmoduleVerilogVerilog HDL HDL模块的结构模块的结构 请在下面的空格中填入适当的符号请在下面的空格中填入适当的符号使其成为右图的使其成为右图的Verilog Verilog 模块模块 :module block1(a, b, , , ); module block1(a, b, , , );input , , ;input , , ; d, ; d, ;assign d = a | ( b assign d = a | ( b assign e = ( b as

4、sign e = ( b _ _编写编写VerilogVerilog HDL HDL模块的练习模块的练习abcde 请在下面的空格中填入适当的符号请在下面的空格中填入适当的符号使其成为右图的使其成为右图的Verilog Verilog 模块模块 :module block1(a, b, module block1(a, b, c c , , d d, , e e ); );input input a a, , b b, , c c; ;output output d, d, e e ; ;assign d = a | ( b assign d = a | ( b assign e = ( b

5、assign e = ( b endmoduleendmodule编写编写VerilogVerilog HDL HDL模块的练习模块的练习abcdemodule block (a,b,c);output c;input a,b;endmodulemodule block3(a,b,c);output 2:0 c;input 2:0 a,b;block b0(.b(b0),.a(a0),.c(c0);block b1(a1,b1,c1);endmodule模块的模块的端口定义与调用端口定义与调用端口实现模块互连,要保证连接正确。端口实现模块互连,要保证连接正确。本模块本模块 信号信号另一模另一模

6、 块信号块信号 在在Verilog Verilog 模块中有三种方法可以生成逻辑电路:模块中有三种方法可以生成逻辑电路:- - 用用 assign assign 语句语句( (连续赋值语句连续赋值语句) ):assign cs = ( a0 assign cs = ( a0 - - 用用 元件的实例调用元件的实例调用:and2 and_inst ( q, a, b); and2 and_inst ( q, a, b);- - 用用 always always 块块( (过程块过程块) ):always (posedge clk or posedge clr) always (posedge c

7、lk or posedge clr)begin if (clr) q 如:8b10000011、4hf、5d12、d12、12x和z值: 不定值和高阻值如:4b10x0、4b101z、12dz、12d?、 8h4x3.2.1 3.2.1 常量常量n数字负数: 位宽前加-号,内部是补码 如:-1=-321=32hFFFFFFFF 1) 默认是32位、十进制下划线: 仅增加可读性如:16b10x0_0000_0000_1111 “AB”=16b01000001_010000103.2.1 3.2.1 常量常量n参数(parameter)型参数是一个常量,经常用于定义时延和变量的宽度 如:param

8、eter BITWIDTH = 8;parameter e=32, a=8,b=16;模块引用另一模块的实例时,传递参数值module top;wire 3:0A4;wire 3:0F4;decode #(3,4) D1(A4,F4)endmodulemodule decode(A,F);parameter Width=1;parameter P=2;.endmodulen参数(parameter)型在一个模块改变另一模块的参数时,使用defparam命 令include “top.v”include “block.v”include “note.v”module test;wire W;to

9、p T();endmodulemodule top;wire W;block B1();block B2();endmodulemodule block;parameter P=0;endmodulemodule note;defparamtest.T.B1.P=2,test.T.B2.P=3;endmodulenotetesttopblockblockB2B2T3.2.2 3.2.2 变量变量n网络数据类型:表示结构实体之间的物理连接 wire型:用来表示单个门驱动或连续赋值语句驱动的网络 型数据,默认值为z,常用assign语句或实例元件的输出 赋值。 tri型:用来表示多驱动器驱动的网络

10、型数据nreg型:寄存器类型是数据储存单元的抽象。 通过赋值语句可以改变寄存器储存的值,其作用与改变 触发器储存的值相当,默认值为x。在always 块内被赋值 的每一个变量必须是reg型。nwire tri reg型的定义格式相同变量即在程序运行过程中其值可以改变的量3.2.2 3.2.2 变量变量nmemory型:通过对reg 型变量建立数组来对存储器 建模,可以描述RAM 型存储器,ROM 存储器和 reg文件。数组中的每一个单元通过一个数组索引 进行寻址。如:reg 3:0 mm 7:0;变量即在程序运行过程中其值可以改变的量mm7mm6mm5mm4mm3mm2mm1mm0mm3=4b

11、0110;0110mm7mm6mm5mm4mm3mm2mm1mm03.3 3.3 运算符及表达式运算符及表达式 算术运算符(+,,/,) 赋值运算符(=,=,) 拼接运算符( )运算符按其功能 可分为以下几类:按其所带操作数的个 数运算符可分为三种 : 单目运算符:可以带一个 操作数,操作数放在运算 符的右边。 二目运算符:可以带二个 操作数,操作数放在运算 符的两边。 三目运算符:可以带三个 操作,这三个操作数用三 目运算符分隔开。思考题思考题1. 模块由哪几部分组成? Verilog Verilog 模块的结构由在模块的结构由在modulemodule和和endmodule endmodu

12、le 关键词之间的四个主要部分组成:关键词之间的四个主要部分组成:- - 端口信息:端口信息: module block1(a, b, c, d ); module block1(a, b, c, d );- - 输入输入/ /输出说明输出说明 : input a, b, c ;input a, b, c ;output d ; output d ;- - 内部信号:内部信号: wire x; wire x;- - 功能定义:功能定义: assign d = a | x ; assign d = a | x ;assign x = ( b assign x = ( b endmodule en

13、dmodule思考题思考题2. 端口分为几种? 端口分为输入输出和双向端口。端口分为输入输出和双向端口。3. 为什么端口要声明信号的位宽? 端口代表了电路的输入输出连接线,因此要明确端口代表了电路的输入输出连接线,因此要明确 连线的数量。连线的数量。4. 能否说模块相当于电路图中的功能模块, 端口相当于功能模块的引脚?能能思考题思考题5. 模块中的功能描述可以由哪几类语句或语 句块组成?它们出现的顺序会不会影响功能 的描述? 功能描述由:功能描述由:assignassign语句、实例化门电路和语句、实例化门电路和 alwaysalways块组成。不会。块组成。不会。6. 这几类描述中哪一种直接与电路结构有关 ? 实例化门电路。实例化门电路。思考题思考题7. 最基本的Verilog变量有哪几种? 最基本的Verilog变量:wire和reg8. wire和reg型变量的差别是什么? 无记忆和有记忆无记忆和有记忆 assignassign语句赋值和语句赋值和alwaysalways块内赋值块内赋值9. 由连续赋值语句assign复制的变量能否是 reg型变量?不能思考题思

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号