- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 不同抽象级别的verilog模型
第7章 不同抽象级别的
VerilogHDL模型
7.1 门级结构描述
1、门类型(共26个)
and nand or nor xor xnor
buf not
引用声明举例:
and #10 and0 ( f, a, b, c, d );
输入
延时
输出
门类型 实例名
例7-1 用基本逻辑门构成D触发器
例7-1 用基本逻辑门构成D触发器
module flop(data, clock, clear, q,qb);
input data, clock, clear;
output q,qb;
nand #10 nd1(a,data,clock,clear),
nd2(b, data,clock),
nd4(d,c,b,clear),
nd5(e,c,nclock),
nd6(f,d,nclock),
nd8(qb,q,f,clear);
nand #9 nd3(c,a,d),
nd7(q,e,qb);
not #10 iv1(ndata,data),
iv2(nclock,clock);
endmodule
2 、由已设计完成的模块构成更高层次的
模块
例7-2 :由触发器构成的4位寄存器
例7-2 :由触发器构成的4位寄存器
`include “flop.v”
module hardreg(d,clk,clrb,q);
input clk,clrb;
input[3:0] d;
output[3:0] q;
flop f1(d[0],clk,clrb,q[0],),f2(d[1],clk,clrb,q[1],),
f3(d[2],clk,clrb,q[2],),f4(d[3],clk,clrb,q[3],);
endmodule
7.2 数据流建模
♦assign声明语句
♦延迟语句
♦定义表达式、操作符和操作数
♦assign声明语句
• 连续赋值
assign out = i1 i2;
assign addr[15:0] = addr1_bits[15:0] ^
addr2_bits[15:0];
assign {c_out, sum[3:0]} = a[3:0] + b[3:0] + c_in;
• 隐式连续赋值
wire out;
assign out = in1 in2;
等价于
wire out = in1 in2;
• 隐式线网声明
wire i1, i2;
assign out = i1 i2;
♦延迟语句
•普通赋值延迟
assign #10 out = in1 in2;
•隐式连续赋值延迟
wire #10 out = in1 in2;
等价于
assign #10 out = in1 in2;
•线网声明延迟
wire # 10 out;
assign out = in1 in2;
等价于
wire out;
assign #10 out = in1 in2;
♦定义表达式、操作符和操作数
•表
文档评论(0)