asic第五章VERILOG.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
asic第五章VERILOG

第五章 VERILOG 语言简介 第五章 VERILOG 语言简介 概述 VHDL与VERILOG HDL VERILOG语言的基本单元 VERILOG语言的数据类型 VERILOG语言的运算操作符 VERILOG的基本语句 状态机的原理及应用 常用器件的VERILOG描述 5.1 概述 硬件描述语言的发展至今已有几十年的历史,目前常用的有AHDL、ABEL、VHDL、Verilog HDL等等; 5.2 VHDL与Verilog HDL Verilog HDL从商业公司中诞生,接近C语言,它善于描述更低层次设计,包括结构级和物理级; VHDL源于1981年美国国防部的VHSIC计划,接近Ada,它善于描述高层一些的设计,包括系统级和行为级。 5.3 VERILOG语言的基本单元 1.模块:利用编译器生成的数字电路功能块。模块相当于数字电路中的元件。包括已有的库元件和自己建立的元件。 原理图和硬件语言设计生成的元件,如与门、或门和D触发器、移位寄存器等组合逻辑元件和时序逻辑元件。这里的”逻辑”是因为它们由基本的物理单元构成,包括三极管、电阻等。物理单元构成数字模块。 利用语言生成的元件 module abc(out,a,b,sel) output out; input a,b,sel; assign out=(sel==0)?a:b; endmodule 在MAXPLUSII下生成SYMBOLS,就是利用编辑器例化,得到一个选择器的原理图表示。 2.VERILOG中的模块的语法结构 1)module 模块名称(输入、输出变量名称) 输入输出说明 变量[位宽] 变量名称 功能完成语句 endmodule 2)输入、输出端口(外部信号) output[n-1:0] out; //共n位,如果是1位,省略[] input[n-1:0] a,b; //写在一起,表示有相同的位宽。 3)内部信号 module abc(out,clock,reset) input clock,reset; //外部信号,用于模块之间互联 output out; //外部信号 reg out; //内部信号,用于内部连接 reg[2:0] i; always @ (posedge clock) //功能块 if (reset==1) begin out=0;i=0; end else begin if (i3’d5) //位宽进制数字 begin i=i+1; out=0;end else begin i=0;out=1; end end endmodule 3.关于模块的总结 1)模块相当于C语言的函数部分。在VERILOG语言中,不存在相当于C语言的main()主函数 2)功能块之间是并行的,模块之间也是并行的。(除非程序控制) 3)一般来说,功能块之内的语句是顺序执行的。 4)关键在于理解并行和顺序执行的概念。在C语言中,一般情况下,在PC机(或者单片机)控制下执行,而PC机的ALU计算单元只有一个,所以,只能一条一条语句顺序执行;而对于VERILOG语句,运行在CPLD、FPGA中,以增加硬件的方式实现并行。 C和VERILOG的比较 Int abc(int a,int b) module abc(ina,inb,out,c); { input ina,inb;output out,c; return(a+b); assign {c,out}=ina+inb; } endmodule 针对PC机 针对CPLD、FPGA 一般顺序执行 可并行执行,由硬件单元扩展 (双核PC、C6000例外) 数据类型:int、double等

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档