数字集成电路设计工具和使用.ppt

  1. 1、本文档共134页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译预处理:宏定义`define 说明: 宏名建议用大写,以与变量名相区别 `define命令可以在模块内,也可以在模块外 引用已定义的宏名时,必须在宏名前加上符号“`” 对宏定义不做语法检查,即使错误也照样带入 宏定义不是Verilog语句,行末不用加分号,否则会连分号一起进行置换 进行宏定义时,可以使用已定义的宏名 宏名和宏定义必须在同一行声明,可以包含注释行。 编译预处理:文件包含处理`include 一个源文件将另外一个源文件的全部内容包含进来 语法:`include “文件名” 编译预处理时,将file2.v的内容全部复制插入到`include “file1.v”命令出现的地方 编译预处理:文件包含处理`include 例:文件aaa.v 文件bbb.v 编译预处理:文件包含处理`include 说明: 一个`include只能指定一个被包含的文件,如果要包含n个文件,要使用n个`include命令 `include命令可以出现在源程序的任何地方,文件名可以是绝对路径,也可以是相对路径 可以将多个`include命令写在一行 `include命令可以嵌套 行末没有分号 编译预处理:时间尺度`timescale 用来说明跟在该命令后面的模块的时间单位和时间精度 语法: 时间单位用来定义模块中仿真时间和延迟时间的基准单位 时间精度用来声明模块的仿真时间的精确程度,用来对延迟时间单位进行取整 时间单位和时间精度的数字必须是整数,有效数字为1,10,100,单位为s,ms,us, ns, ps,fs 编译预处理:时间尺度`timescale 例: 该例中,取整后实际的延迟时间为16ns 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级 放映结束 感谢各位批评指导! 让我们共同进步 顶层模块CNT_BCD,文件名CNT_BCD.v,该模块调用了低层模块AND2、CNT_4b和HEX2LED。 2、数据流建模(一) 主要描述方式为持续性赋值语句 数据流建模(二)——持续性赋值语句 也称连续赋值语句(continuous assignment) 对线网类型变量赋值 语法:assign net_type = expression; 主要用于组合逻辑的建模 执行过程:只要右边表达式任一个变量有变化,表达式立即被计算,计算的结果立即赋给左边信号 为并行执行语句,与书写顺序无关 数据流建模(二)——持续性赋值语句 举例: 例:2选1多路选择器 阻塞(blocking)赋值方式 赋值符号为“=”,如:b=a; 语句结束时立即完成赋值操作,即b的值在该条件语句结束后立即改变 同一个块语句中,如果有多个阻塞赋值语句,那么前面的赋值操作没完成之前,后面的语句就不能被执行,仿佛被阻塞(blocking)了一样。 阻塞性过程赋值:在其后所有语句执行前执行,即在下一语句执行前该 赋值语句完成执行 如: always@(A or B or Cin) Begin:CARRY_OUT Reg T1,T2,T3 T1=AB T2=BCin T3=ACin Cout=(T1|T2)|T3 end 使用内部延时控制的阻塞性过程赋值语句 如: initial begin Clr = #5 0 //在0时刻执行,5个时间单位后被赋值 Clr = #4 1 //4个时间单位后被赋值为1 Clr = #10 0//10个时间单位后被赋值为0 end 非阻塞(non-blocking)赋值方式 赋值符号为“=”,如:b=a; 非阻塞赋值在整个过程块结束时才完成赋值操作,即b的值并不是立即就改变的 非阻塞性过程赋值中,对目标的赋值是非阻塞的,即为时间并行的,所有的赋值均在同一时刻发生 如: initial begin Clr = #5 1 //在第5个时间单位被赋值为1 Clr = #4 0 //在第4个时间单位被赋值为0 Clr = #10 0//在第10个时间单位被赋值为0 end 赋值语句—阻塞赋值与非阻塞赋值 例1:非阻塞赋值 例2:阻塞赋值 赋值语句—阻塞赋值与非阻塞赋值 例1仿真结果 例2仿真结果 赋值语句—阻塞赋值与非阻塞赋值 例1综合结果 例2综合结果 赋值语句—阻塞赋值与非阻塞赋值 六点建议: 时序电路建模时,用非阻塞赋值 锁存器电路建模时,用非阻塞赋值 用always块建立组合逻辑模型时,用阻塞赋值 在同一个always块中建立时序和组合逻辑电路时,用非阻塞赋值 在同一个always块中不要既用阻塞赋值又用非阻塞赋值 不要在一个以上的always块中为同一变量赋值 3、行为建模 通过对设计的行为的描述来实现对设计建模 一般采用过程语句(initi

文档评论(0)

zxiangd + 关注
实名认证
内容提供者

本人从事教育还有多年,在这和大家互相交流学习

1亿VIP精品文档

相关文档