- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
`uselib编译指令 用于定义仿真器到哪里去找库元件。 如果该引导语句启动的话,它就一直有效,直到遇到另外一个`uselib的定义或`resetall语句 。 比其他配置库搜索路径的命令选项作用大。 例如: `uselib dir =/lib/FAST_lib/ `uselib dir =/lib/TTL_lib/libext=.v file = /libs/TTL_U/udp.lib 条件编译命令`ifdef、`else、`endif? 一般情况下,Verilog HDL源程序中所有的行都将参加编译。但是有时希望对其中的一部分内容只有在满足条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足条件时对一组语句进行编译,而当条件不满足是则编译另一部分。 条件编译命令有以下几种形式:? 1)?????`ifdef 宏名 (标识符) 程序段1 `else 程序段2 `endif 它的作用是当宏名已经被定义过(用`define命令定义),则对程序段1进行编译,程序段2将被忽略;否则编译程序段2,程序段1被忽略。 其中`else部分可以没有,即: 2)??`ifdef 宏名 (标识符) 程序段1 `endif 这里的 “宏名” 是一个Verilog HDL的标识符,“程序段”可以是Verilog HDL语句组,也可以是命令行。这些命令可以出现在源程序的任何地方。 注意:被忽略掉不进行编译的程序段部分也要符合Verilog HDL程序的语法规则。 通常在Verilog HDL程序中用到`ifdef、`else、`endif编译命令的情况有以下几种: ·???????? 选择一个模块的不同代表部分。 ·???????? 选择不同的时序或结构信息。 ·???????? 对不同的EDA工具,选择不同的激励。 表达式与运算符 表达式由操作数和运算符组成。 操作数可以是以下类型中的一种: 1) 常数:35,4‘b10_11, 8’h0A; 2) 参数:parameter LOAD = 4‘d12 ; 3) 线网: wire clk; 4) 寄存器:reg [3:0] state; 5) 位选择; state[2]; 6) 部分选择: state[2:1]; 7) 存储器单元:reg [7:0] mem[255:0]; 8) 函数调用:$time; 运算符 运算符分类 所含运算符 算术运算符 +,-,*,/,% 位运算符 ~,,|,^,^~(~^) 缩位运算符 ,~,|,~|,^,^~(~^) 逻辑运算符 !,,|| 关系运算符 ,,=,= 相等与全等运算符 ==,!=,===,!== 逻辑移位运算符 , 连接与复制运算符 { } 条件运算符 ? : 在Verilog HDL语言中运算符所带的操作数是不同的,按其所带操作数的个数运算符可分为三种: 1)?单目运算符(unary operator):可以带一个操作数,操作数放在运算符的右边。 2)??二目运算符(binary operator):可以带二个操作数,操作数放在运算符的两边。 3)?三目运算符(ternary operator):可以带三个操作,这三个操作数用三目运算符分隔开。见下例: clock = ~clock; // ~是一个单目取反运算符, clock是操作数。 c = a | b; // 是一个二目按位或运算符, a 和 b是操作数。 r = s ? t : u; // ?: 是一个三目条件运算符, s,t,u是操作数。 运算符优先级 符号 优先级别 单目运算 乘、除、取模 + - ! ~ * / % 最高 加、减 移位 + - 关系 等价 = = ==,!=,===,!== 缩减 逻辑 ~ ^ ~^ | ~| || 条件运算符 ? : 最低 算术运算符 +,- :一元或二元加、减。 * :乘。 / :整型数除法舍去小数部分。 % :模运算符,或称为求余运算符,要求%两侧均为整型数据。 结果符号与第一运算符保持一致。 例: -10%3; //结果为-1 10%-3; //结果为1 运算符中有不定态,则一般结果也为不定。 算术表达式结果的长度由最长的操作数决定。 位运算符 Verilog HDL作为一种硬件描述语言,是针对硬件电路而言的。在硬件电路中信号有四种状态值1,0,x,z.在
文档评论(0)