- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据常量 -- Verilog HDL中共有19种数据类型。 1 数字 整数 二进制数(b或B) 十进制数(d或D) 十六进制数(h或H) 八进制数(o或O) 数字的三种表达方式: 位宽进制数字 --- 全面的描述方式 进制数字 --- 默认位宽,至少32位 数字--- 默认位宽与进制(十进制) examples: 88ha2 x 与 z -- x代表不定值;z(?)代表高阻值 examples: 4b10x0 4b101z 12dz 12d? 8h4x 负数 -- 在位宽表达式前加一个减号(-),减号必须放在数字定义表达式的最前面。 examples: -8d5 //ok 8d-5 //not ok!!! 下划线 -- 用来分割数字的表达,提高程序的可读性,只能用在具体的数字之间。 examples: 16b1010_1111_1001_0001 //OK 8b_1001_1111 // not ok!!! note:常量不说明位数的时候,默认为32位,每个字母用8位的ASCII码值表示 2 参数型(parameter) -- 用parameter来定义常量,称为符号常量,可提高程序的可读性与可维护性。 格式: parameter 参数名1 = 表达式,参数名2 = 表达式,... ,参数名n = 表达式; note:表达式必须是常数表达式!! parameter举例 parameter msb = 7; parameter byte_size=8,byte_msb=byte_size-1; parameter所定义的常量必须是值可以确定的 变量类型 1. wire型 - 常用来表示用于以assign关键字指定的组合逻辑信号 - 默认的类型 wire a; // 1个1位 wire[7:0] b; //1个8位 wire[4:1] c,d; //2个4位 2. reg型 -- 存储数据单元的抽象 -- always块内被赋值的每一个信号都必须为reg型(reg只表示被定义的信号将用在alway块内) -- 默认初始值为不定值:x reg rega; reg[3:0] regb; reg[4:1] regc,regd; 3. memory型 -- 通过对reg型变量建立数组,用于对存储器建模 reg[7:0] mega[255:0]; -- mega存储器,有256个8bit单元,地址范围为0~255 reg[n-1:0] rega; 与 reg mega[n-1:0]?? 结构说明语句 verilog HDL语言中的任何过程模块都从属于以下4种结构的说明语句: - initial //开始时立即执行,且只执行一次 - always //开始时立即执行,直到仿真介绍 - task - function //task和function语句可以在程序模块中的一处或多处调用 always语句 - 仿真过程中不断活跃着 - 其后的过程快是否执行取决于它的触发条件是否满足 声明格式 always 时序控制 语句 note: always语句需要时序控制配合,否则会出现仿真死锁 always语句 例1 always areg = ~areg; //零延迟的无限循环跳变 例2 always #10 areg = ~areg; //周期为20的无限延续信号 always语句 例3 reg[7:0] counter; ret tick; always @ (posedge areg) //上升沿激励 begin tick = ~tick; counter = counter + 1; end always语句 例4 always @ (posedge clock or posegde reset) //上升沿 clock or reset激励 begin .... end always语句 例5 always @ (a or b or c) //多个电平激励 begin .... end always语句 -- 沿触发的always块常常描述时序行为 -- 电平触发的always块常常描述组合逻辑行为 verilog HDL实例 module muxtwo(out, a, b, s1); input a, b, s1; output out; not u1(ns1, s1); and #1 u2(sela, a, ns1
您可能关注的文档
最近下载
- 2024 年中国在拉丁美洲和加勒比地区直接投资报告.docx
- 学校安全网格化管理培训.pptx VIP
- 2025山西演艺(集团)有限责任公司社会招聘59人笔试备考题库及答案解析.docx VIP
- 人防主体结构验收自评报告.doc VIP
- 水工建筑物_任旭华_第五章土基上的水闸.ppt
- 解放思想 再接再厉 进一步推进国有企业改革与发展——深圳市宝安区投资管理有限公司工作纪实.pdf VIP
- 小学生水粉画课件PPT.pptx VIP
- 智慧畜牧课件.ppt VIP
- (天一大联考)陕西山西宁夏青海2025-2026学年(上)高三第一次四省联考 英语试卷(含答案详解).pdf
- 33-管道与设备绝热-保冷 08K507-2 08R418-2.docx VIP
文档评论(0)