Verilog数字系统设计详细笔记解说.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Verilog数字系统设计 概述: Verilog HDL 是一种硬件描述语言,用于数字电子系统设计。 Verilog 适合系统级(system),算法级(alogrithem),寄存器传输级(RTL),逻辑级(logic),门级(gate),电路开关级(switch)设计,而SystemVerilog 是Verilog语言的一种拓展和延伸,更适用于可重用的可综合IP和可重用的验证用IP设计,以及特大型(千万门级以上)基于IP的系统级设计和验证。 Verilog的设计流程: 自顶向下的设计 搜索 知识产权核(IP) 软核:功能经过验证的,可综合的,实现后电路结构总门数超过5000门的VerilogHDl模型 (很重要) 固核:在FPGA器件上实现的,经验证是正确的,总门数在5000门以上的电路结构编码文件 硬核:在某一种专用集成电路工艺(ASIC)的器件上实现的,经验证是正确的,总门数在5000门以上的电路结构版图掩膜。 系统级,算法级,RTL级属于行为级 门级和开关级属于结构级 描述测试信号的变化和测试过程的模块叫做测试平台(testbench) 基本语法: 模块结构的组成: 一部分描述接口,一部分描述逻辑功能 模块的端口: 模块的端口表示的是模块的输入和输出名 在模块被引用时,通常有两种方法 flop flop_d(d1,clk,clrb,q,qn); flop flop_d(.clock(clk),.q(q),.clear(clrb),.qb(qn),.data(d1)); 模块内容: I/O说明 输入口: input[信号位宽-1:0] 端口名; 输出口: output[信号位宽-1:0] 端口名; 输入/输出口: inout[信号位宽-1:0] 端口名; 内部信号声明 Reg [width-1:0]R变量1,R变量2...; Wire [width-1:0]W变量1,W变量2...; 功能定义 用“assign”语句 如 assign a=bc; 用实例元件 如 and #2 ul(q,a,b); 用always 块 如 always@(posedge clk or posedge clr) begin ... end 数据类型 常量:程序运行中其值不能改变的量,包括整型,参数型常量(parameter) 变量:。。。。。。。。。。。。。。可以改变的量, 网型数据类型(wire) 表示器件间的物理连接 寄存器数据类型(reg) 表示抽象的存储单元 Memory型 描述一个寄存器数组 运算符 Integer是有符号数,reg是无符号数 如操作数有一位为1,其逻辑值为true,如操作数为全0,其逻辑值为false,如操作数只包括0,x,z,则逻辑值为x 赋值语句 非阻塞赋值: b=a (时序逻辑) 阻塞赋值 b=a (组合逻辑) 块语句 顺序块(begin-end语句) 并行块(fork-join语句) 条件语句 if_else case 生成语句 结构说明语句 Initial语句 Always语句 Task语句 Function语句 常用的系统任务 $display(p1,p2,...,pn) 值变存储文件 系统任务 模块C2 模块B2 模块B1 模块A3 模块A2 模块A1 模块C1 模块C 模块B 模块A 系统级设计

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档