- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
verilog程范例(北京至芯科技FPGA培训)
Verilog 设计举例 结构模块的层次化组成 各种类型模块之间的关系 测试和验证 设计示例一用门级结构描述D触发器 设计示例一 用户定义的原始元件 primitive udp_and (out,a,b); output out; input a,b; table //a b : out; 0 0 : 0; 0 1 : 0; 1 0 : 0; 1 1 : 1; endtable endprimitive 用户定义的原始元件 前面模块中的nand和not原语元件(primitive)在Verilog 语言中是保留词,它们分别表示: 与非门和非门的逻辑关系。 在Verilog 语法中通过用户定义的原始元件语句(即UDP)的真值表和带参数的延迟线模型来表示。在与具体工艺库的逻辑对应时把具体延迟参数传入延迟线模型,再加上描述逻辑关系的UDP 。就有了一个与真实情况很接近逻辑模型,仿真器就可以依据它进行计算,来确定相互连接元件的逻辑值。 设计示例二由已设计的模块来构成高一级的模块 设计示例二 `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 设计示例三编写测试模块通过仿真检查设计正确与否 设计示例三 (续) 设计示例三 (续) 设计示例三 (续) 设计示例四 带异步复位端的 D 触发器 module DFF(q, d, clk, reset); output q; input d, clk, reset; reg q; always @(posedge reset or negedge clk) if (reset) q = 1b0; else q = d; endmodule 设计示例四(续)用D触发器构成T触发器 module TFF(q, clk, reset); output q; input clk, reset; wire d; DFF dff0(q, d, clk, reset); // DFF已在上面的模块定义 not n1(d, q); // not 表示非门是一个Verilog 原语. endmodule 设计示例四(续)用四个T触发器组成一个进位计数器 module ripple_carry_counter(q, clk, reset); output [3:0] q; input clk, reset; //4 instances of the module TFF are created. TFF tff0(q[0],clk, reset); TFF tff1(q[1],q[0], reset); TFF tff2(q[2],q[1], reset); TFF tff3(q[3],q[2], reset); endmodule 设计示例四(续)用激励信号对进位计数器进行测试 module stimulus; reg clk; reg reset; wire[3:0] q; // instantiate the design block ripple_carry_counter r1(q, clk, reset); // Control the clk signal that drives the design block. initial clk = 1b0; always #5 clk = ~clk; 设计示例四(续)用激励信号对进位计数器进行测试 // Control the reset signal that drives the design block initial begin reset = 1b1; #15 reset = 1b0; #180 reset = 1b1; #10 reset = 1b0; #20 $stop; end 设计示例四(续)用激励信号对进位计数器进行测试 // Monitor the outputs initial $monitor($time, Output q = %d, q); endm
您可能关注的文档
- fgKT-Q系全方位行星式球磨机操作使用说明.pdf
- FAM系统总帐分数据字典.doc
- Firewors CS5 自述.pdf
- F商业街项目策划方案.doc
- GMDSS第七章75.ppt
- gps车辆监控PS监控平台.pptx
- GRC构件安装工程施工方法.doc
- gpyn9470928184(学员)阮鸿斌7.ppt
- H20225立去污机使用说明书.doc
- hibernae关系映射实验指导.doc
- 7 《新型建筑保温材料在建筑节能中的应用效果与建筑保温材料应用市场分析研究》教学研究课题报告.docx
- 初中英语课堂广播系统在英语口语表演教学中的应用与效果分析教学研究课题报告.docx
- 中国教师研修网.ppt
- 《甲状腺结节穿刺活检术在甲状腺结节微创治疗中的并发症监测与干预研究》教学研究课题报告.docx
- 高中道德与法治课堂情境教学策略优化与实施教学研究课题报告.docx
- 小学数学课废旧物品测量与计算能力培养策略研究教学研究课题报告.docx
- 美容院店铺管理课件.pptx
- 2025年乡村手工艺传承基地非遗保护与传承教育报告.docx
- 2025年B2C企业用户运营策略优化与生命周期管理策略实践指南.docx
- 2025年乡村手工艺传承基地非遗保护与传承策略报告.docx
文档评论(0)