电子设计大赛——Verilog与FPGA.pptxVIP

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子设计大赛——Verilog与 FPGA 什么是Verilog HDL? Verilog 是一种用于数字逻辑设计的硬件描述语言。在设计中常用于硬件电路的行为级描述——就是告诉电路,你应该做什么,做什么,再做什么! Verilog与C语言 Verilog的某些语法是与C相似的。但只是形似,神是不同的! Verilog只是Verilog而已,你可以参考C,但不能当做C!你必须了解Verilog的本质。 记住! 你编写的Verilog代码,是会生成实际硬件 不电是路所的有。的而V电er路il,og一代般码都不能是够串转行换执成行实的际,电很也路多许的时在,候C语学都言习是中语并,法行代时工码要作越分的简辨。洁清所越楚以好。在。那Ve但些ri是可lo在gV以中er转,il换你og成一中实定绝际要不电对是路电这的路样,的!我时衡们序量称图Ve为与ri“数lo可据g综代量合码图”的! 另唯有外一深,标刻即准的使,认你就识使是!用在的代可码综正合确的与代清码晰去的编前写提,如下果,你可描以述生的成电结路构实尽际可上能无简法单实、现功,能也却是非无常法强综大合的的电,路! 也许有用的Tips多使用编译器附带RTL Viewr看看RTL级原理尽图量,忘看记清C吧楚,你C写可的以代帮码助到你底记生住成Ve了ri什lo么g里面样的关电键路字。,多但使是用请Si不gn要al用TaCp的II思L想og来ic编al写V你er写il的og模块输出的数据的值A多na写ly多ze练r,吧看,看无你论写学的习模什块么的练时习序都图是,王看道看。V当er你il初og步。掌要握使了用VVeerriilloogg之的后思,想推来荐编你写看看《Verilog 那些事儿》进行进一步的学习。什么是Verilog的思想?也许你可要在那里找到答案。 语法--符号 标识符:赋给对象的唯一名称,可以是字母、数字、下划线和符号“$”的组合,且首字符只能是字母或者下划线。区分大小 写,如“if”为关键字,而“IF”不是关键字。 注释:注释有两种:1,以“/*”开头,以 “*/”结束。2,以“//”开头到本行结束。这些和C语言差不多。 语法--数字量逻辑数值:(1)0:逻辑0;整数常量:(基2本)表1:达逻格辑式1为;:(长3)度x:进未制知数,值不定 ;6’b96位二进制(数4)z:高阻态。9’d68‘h1f 8位十六进制数 而没有“长度进制”声明时,默认为32位十进制数。如:40,-50。参数:参数是特殊的常量,其语法结构是:parameter para1=const1,5pa‘roa52=c5on位st八2进制…数… paraN=constN;9位十进制如数:parameter BIT=1,BYTE=8 语法--变量定义 数据类型:数据类型用来表示数字电路硬件中的数据存储和传送元素,可以理解成变量。Verilog 中总共有两大类数据类型:线网类型和寄存器类型。 数据类型的总种类很多,这里只介绍两种最常用且可综合的类型:wire与reg。有兴趣的同学可以自行学习其他类型。 wire是线网类型,可以理解成电路中的一根导线,在实际综合中一般也是生成连接线。 reg是寄存器类型,就是电路中的寄存器、触发器或选择器。 语法--变量声明命名规则:wire与reg变量的通用命名规则: wire/reg [msb:lsb] Varia1,Varia2;例如:reg[3:0] Sat;wire[7:0] Line;//Sat为4位寄存器//Line为8位线网如果没有位宽声明,则默认为1位位宽。 注意:reg和wire声明的都是无符号变量,若要声明有符号变量,可以在reg和wire后加上关键字signed。如:reg signed [7:0]Sat; 语法--变量赋值 在Verilog中,变量是不能随意赋值的,必须使用赋值运算符才可以进行赋值。其中 assign称为连续赋值,对应于线网类型变量 wire;initial或always称为过程赋值,对应于寄存器类型变量reg。下面作具体讲解 语法--assign与wire首先列个例子: wire a;assign a=1’b1 可以看出,语法格式就是这么简单,如下: assign 线网型变量名=赋值表达式; 需要理解的是,assign称为连续赋值的意思是,等号右端赋值表达式的值会持续对被 赋值变量产生连续驱动,而且只要等号右 端赋值表达式的值改变,左端被赋值变量 的值就会立即改变。对应到电路中去,就 是导线。 语法--assign与wire下面列举一些实际中常用的用法:wirea,b;assign a(2) wire [7:0]assign(3) wire [7:0] assignwire [7:0] assignwirewire [1:0b; a

文档评论(0)

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

文档爱好者~

1亿VIP精品文档

相关文档