- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子设计自动化基础-1 哈尔滨工业大学微电子中心 李晓明 内容 Verilog HDL设计入门 Verilog HDL基础知识 词法 数据类型 运算符 参数、宏替换及模拟时间定标 Verilog行为描述 Verilog HDL设计入门 module基本结构 Verilog HDL是由module模块组成,模块定义关键词 module开始,到关键词 endmodule结束,每条Verilog语句以分号“;”作为结束(块语句、编译向导、endmodule等除外)。 module module_name(Port_list); 端口声明; 数据类型声明; 电路描述; endmodule 例:上升沿D触发器 module dff_pos(data,clk,q); input data,clk; //端口声明 output q; //端口声明 reg q; //数据类型声明 always @(posedge clk) q=data;//电路描述 endmodule Verilog HDL设计入门 Verilog HDL设计入门 行为描述、结构描述 行为描述:描述行为及功能特性,如a+b 结构描述:将不同实体连接的方式(加法器) 层次式设计(Hierarchical Design) 顶层设计 底层设计 Verilog HDL基础知识 基本词法定义 空白符 : 空格(space bar),TAB 键,return键 - 起到分隔符的作用。 注释 (Comment) : “//”或“/*, */”。 注释的重要性 便于理解及修改 便于重用(reuse) 便于交接 Verilog HDL基础知识 标量与矢量 标量:只有一位的连线或寄存器类型 矢量:多于一位的连线或寄存器类型 存储器定义 EX: reg[7:0] memory[255:0]; //字长8bit,256byte容量 reg mem[255:0]; //字长1bit,256bit容量 wire data; memory[7] = 8’hff; //只能按地址赋值 data = mem[0]; Verilog HDL基础知识 算术运算符 +, -, *:加法器,减法器,乘法器 / , %:除法器 /:整数除法舍弃小数 %:取模运算-取余数,符号为第一个操作数的符号 如:-10 % 3= -1; 10 % (-3)= 1 如果操作数里包含x,则结果为不定态 Verilog HDL基础知识 :按位与 -与门 | :按位或 -或门 ^ :按位异或 -异或门 ^~,~^ :按位同或 -同或门 注意:上述操作数只要出现x,结果均为x EX:a=4’b1011, b=4’b0011 ~a=4’b0100, a|b=4’b1011 ab=4’b0011, a^b=4’b1000 a~^b=4’b0111 Verilog HDL基础知识 缩位运算符:按位进行运算,结果为1位 , |, ^ : 与,或,异或 ~, ~|, ~^(或^~) : 对与,或,异或取反 EX: a=4’b1011 a=1’b0, ~a=1’b1, |a=1’b1, ~|a=1’b0, ^a=1’b1, ~^a=1’b0 Verilog HDL基础知识 逻辑运算符: , ||, ! : 与位运算符操作类似 操作数被看作一个整体:TRUE或FALSE;即可看作计算结果为TRUE或FALSE的操作:1代表TRUE,0代表FALSE 对于矢量来说,只有全0代表FALSE EX: a=4’b1010 , b=4’b0101 !a=0, a b=1, a || b=1, a b=a (b)=a 1’b0 = 4’b0 Verilog HDL基础知识 关系运算符: 比较两个操作数大小 , =, , =: 结果为一位逻辑值-比较器 ==, !=: 相等、不相等运算符-比较器 ===, !==: 全等、不全等运算符 -比较器?No! 全等和相等的区别: 相等、不相等:当出现x,z时,结果为x 全等、不全等:把x,z当成逻辑状态参与比较 EX:a=4’b1x0z, b=4’b1x0z; a==b; //结果为1‘bx a===b;//结果为1‘b1 Verilog HDL基础知识 逻辑移位运算符: 空位填0 -移位寄存器 : 逻辑左移 : 逻辑右移 EX: a=4’b1010 a=a1 =4’b0100 a=a4 =4’b0000 a=a0 =4’b1010 a=a1 =4’b0101
文档评论(0)