- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Verilog模块module
第二讲 Verilog 语法 Verilog模块module Verilog语法要素 Verilog数据类型及逻辑系统 module能够表示: 物理块,如IC或ASIC单元 逻辑块,如一个CPU设计的ALU部分 整个系统 每一个模块的描述从关键词module开始,有一个名称(如SN74LS74,DFF,ALU等等),由关键词endmodule结束。 端口(Terminal) 模块端口等价于芯片的管脚(pin) 模块通过端口与外部通信 端口列表和端口声明 input 输入端口 output 输出端口 inout 双向端口 也可以采用类似ANSI C格式来声明端口 //D 触发器 module D_FF (input d, clk, clr, output reg q,qb); ………… ………… endmodule module adder ( cout,sum,a,b,cin ); input [2:0] a,b; input cin; output cout; output [2:0] sum; assign {cout,sum}=a+b+cin; endmodule //SR 触发器 module SR_FF (Q, Q_n,S,R); output Q, Q_n; //端口声明 input S,R; nand n1(Q, S,Q_n); nand n2(Q_n,R,Q); endmodule D触发器模块 //D 触发器 module D_FF (d, clk,clr,q,qb); output q, qb; input d,clk,clr; reg q, qb;//输出端口q, qb值保存 always @(posedge clk) begin if (clr) q=1’b0; else q=d; end not (qb,q); endmodule 可以将模块的实例通过端口连接起来构成一个大的系统或元件。 在上面的例子中,REG4有模块DFF的四个实例。注意,每个实例都有自己的名字(d0, d1, d2, d3)。实例名是每个对象唯一的标记,通过这个标记可以查看每个实例的内部。 实例中端口的次序与模块定义的次序相同。 模块实例化与调用程序不同。每个实例都是模块的一个完全的拷贝,相互独立、并行。 .端口与外部信号的连接 在调用模块时,可以用顺序连接和按名连接把模块定义的端口与外部信号连接起来 顺序连接:需要连接的信号需要与模块声明的端口列表一致; 按名连接:端口和外部信号按名字连接在一起. 当设计大规模系统时,端口太多,记住端口顺序不大可能,可以采用按名连接方法。 2.2 Verilog 语法要素 标识符 关键词 空白和注释 常量 字符串 延时# 操作符 1.标识符(identifiers) 标识符是用户在描述时给Verilog对象起的名字 标识符必须以字母(a-z, A-Z)或( _ )开头,后面可以是字母、数字、( $ )或( _ )。 最长可以是1023个字符 标识符区分大小写,sel和SEL是不同的标识符 模块、端口和实例的名字都是标识符 module MUX2_1 (out, a, b, sel); output out; input a, b, sel; not not1 (sel_, sel); and and1 (a1, a, sel_); and and2 (b1, b, sel); or or1 (out, a1, b1); endmodule 合法和非法标识符 合法的: shift_reg_a busa_index bus263 2.关键词 3.空白符和注释 4.整数常量和实数常量 整数的大小可以定义也可以不定义。整数表示为: size’basevalue 其中 size :大小,由十进制数表示的位数(bit)表示。缺省为32位 base:数基,可为2(b)、8(o)、10(d)、16(h)进制。缺省为10进制 value:是所选数基内任意有效数字,包括X、Z。 实数常量可以用十进制或科学表示法表示。 整数常量和实数常量 整数的大小可以定义也可以不定义。整数表示为: 数字中(_)忽略,便于查看 没有定义大小(size)整数缺省为32位 缺省数基为十进制 数基(base)和数字(16进制)中的字母无大小写之分 当数值value大于指定的大小时,截
文档评论(0)