【大学课件】数字集成电路设计与硬件描述语言

上传人:xiao****1972 文档编号:71248999 上传时间:2019-01-19 格式:PPT 页数:86 大小:1.99MB
返回 下载 相关 举报
【大学课件】数字集成电路设计与硬件描述语言_第1页
第1页 / 共86页
【大学课件】数字集成电路设计与硬件描述语言_第2页
第2页 / 共86页
【大学课件】数字集成电路设计与硬件描述语言_第3页
第3页 / 共86页
【大学课件】数字集成电路设计与硬件描述语言_第4页
第4页 / 共86页
【大学课件】数字集成电路设计与硬件描述语言_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《【大学课件】数字集成电路设计与硬件描述语言》由会员分享,可在线阅读,更多相关《【大学课件】数字集成电路设计与硬件描述语言(86页珍藏版)》请在金锄头文库上搜索。

1、第六讲 数字集成电路设计 与硬件描述语言,http:/ 两种HDL语言 Verilog HDL简介 VHDL简介,http:/ 1. 算法级设计:利用高级语言(如C语言)及其他一些系统分析工具(如MATLAB)对设计从系统的算法级进行描述。算法级不需要包含时序信息。 2. RTL级设计:用信号在寄存器间传输的模式来对设计进行描述。 3. 门级设计:用逻辑门及门级之间的连线对设计进行描述。 4. 开关级设计:用晶体管及其连线来对设计进行描述。,http:/ 在系统级(顶层)进行功能的划分和架构设计 在功能级进行仿真、纠错,并用硬件描述语言对功能进行描述 用综合工具将设计转化为具体门级电路网表 物

2、理级可以是FPGA器件或专用集成电路(ASIC) TOP-DOWN 设计思想,门级,功能级,系统级,TOP-DOWN 设计方法,http:/ 可读性强,易修改。 提高逻辑设计的效率,降低设计成本,更重要的是缩短设计周期。 HDL追求对硬件的描述,而将该描述在目标器件上实现则由EDA工具的综合器完成。 受限于目标器件,并不是所有HDL语句均可被综合。,http:/ HDL是目前世界上流行最广的两种硬件描述语言,都是在20世纪80年代中期开发出来的。均为IEEE标准。 VHDL语法严谨,易于学习;逻辑综合能力强。在欧洲使用较多。 Verilog HDL语法灵活(类似C语言,较难掌握)底层综合出色。

3、美国使用较多。,http:/ HDL是一种应用广泛的硬件描述语言,是IC硬件设计人员和EDA工具之间的桥梁。其功能为 编写设计文本(脚本) 建立电子系统行为级的仿真模型并进行仿真 自动综合生成数字逻辑网表(Netlist)及具体电路 生成某工艺条件下具体电路的延时模型并进行时序仿真 仿真验证无误后用于制造ASIC或写入FPGA器件中 常用的Verilog HDL开发软件有 Altera公司的MAX+PLUS II,Quartus II Xilinx公司的Foundation ISE,http:/ HDL语言的主要特征,1、语法结构上,与C语言有许多相似之处,并借鉴C语言的多种操作符 2、既包含

4、高级程序设计语言的结构形式,同时也兼顾描述硬件线路连接的具体构件 3、通过使用结构级或行为级描述可以在不同的抽象层次上进行设计,http:/ HDL语言是并发的,即具有在同一时刻执行多任务的能力,因为在实际硬件中许多操作都是在同一时刻发生的。 而计算机编程语言往往是顺序执行的。,5、有时序概念,因为在硬件电路中从输入到输出总是有延迟存在的,http:/ Verilog HDL建模-使用硬件语言对数字电路的这两种基本要素进行描述。,http:/ HDL的基本结构,八位加法器的Verilog HDL源代码,module adder8 (cout, sum, ina,inb, cin); outpu

5、t 7:0 sum; output cout; input 7:0 ina,inb; input cin; assign cout,sum= ina+inb+cin; endmodule,准备实现的逻辑功能,简单的Verilog HDL的例子,端口列表,逻辑功能描述 -描述内部特性,模块名,http:/ HDL模块的结构,模块是Verilog HDL语言的基本单元,数字系统用 模块集合的形式来描述 模块描述某个设计的功能、结构和与其它模块通信的外部端口 Verilog HDL中各个模块是并行运行的 模块可以调用其它模块的实体(实例),http:/ () 端口说明(input,output,in

6、out) 参数定义 /可选 数据类型定义 /wire、reg、task、function 连续赋值语句(assign)/组合逻辑 过程块(always和initial) -行为描述语句 低层模块实例 /调用其它模块 任务和函数 延时说明块 endmodule,http:/ ports),注意模块的名称DFF,端口列表及说明 模块通过端口与外部通信,端口在模块名字后的括号中列出,端口可以说明为input, output及inout,端口等价于硬件的引脚(pin),http:/ instances),module DFF (d, clk, clr, q, qb); endmodule module

7、 REG4( d, clk, clr, q, qb); output 3: 0 q, qb; input 3: 0 d; input clk, clr; DFF d0 (d 0, clk, clr, q 0, qb 0); DFF d1 (d 1, clk, clr, q 1, qb 1); DFF d2 (d 2, clk, clr, q 2, qb 2); DFF d3 (d 3, clk, clr, q 3, qb 3); endmodule,REG4有模块DFF的四个实例,http:/ 每个实例都有自己的名字(d0, d1, d2, d3)。实例名是每个对象唯一的标记,通过这个标记可以

8、查看每个实例的内部。 实例中端口的次序与模块定义的次序相同。 模块实例化与程序调用不同。每个实例都是模块的一个完全的拷贝,相互独立、并行。,模块实例化(module instances):,http:/ assign # 2 B = A; 表示 B信号在2个时间单位后得到A信号的值 所有时延都必须根据时间单位进行定义 定义方式为在文件头添加语句: timescale 1ns /100ps 其中timescale 是Verilog HDL 提供的预编译处理命令,1ns 表示时间单位是1ns,100ps表示时间精度是100ps 根据该命令,编译工具可以认知 #2 为2ns,http:/ MUX2_

9、1 (out, a, b, sel); / Port declarations output out; input sel, / control input b, /* data inputs */ a; /* The netlist logic selects input ”a” when sel = 0 and it selects ”b” when sel = 1. */ not (sel_, sel); and (a1, a, sel_), (b1, b, sel); or (out, a1, b1); endmodule,格式自由 一条语句可多行书写;一行可写多个语句。空白(新行、制

10、表符、空格)没有特殊意义。 如input A;input B; 与input A; input B;是一样的。 使用空白符提高可读性Verilog忽略空白符,多行注释,在/* */内,单行注释 到行末结束,http:/ Low, False, Logic Low, Ground, 1, High, True, Logic High, Power, VDD, X Unknown: Occurs at Logic Which Cannot be Resolved Conflict HiZ, High Impedance, Tri- Stated,http:/ O37 5位八进制数(二进制 1111

11、1 ) 4 D2 4位十进制数 (二进制0010) 4 B1x_01 4位二进制数 7 Hx 7位x (扩展的x), 即xxxxxxx 4 hZ 4 位z (扩展的z) , 即zzzz 4 d-4 非法:数值不能为负 8 h 2A 在位长和基数之间,以及基数和数值之间允许出现空格 3 b 001 非法: 和基数b 之间不允许出现空格 (2+3) b10 非法:位长不能为表达式,http:/ 标识符必须以字母(a-z, A-Z)或( _ )开头,后面可以是字母、数字、( $ )或( _ )。 最长可以是1023个字符 标识符区分大小写,sel和SEL是不同的标识符 模块、端口和实例的名字都是标识

12、符 module MUX2_1 (out, a, b, sel); output out; input a, b, sel; not not1 (sel_, sel); and and1 (a1, a, sel_); and and2 (b1, b, sel); or or1 (out, a1, b1); endmodule,Verilog标识符,http:/ shift_reg_a busa_index _bus3 无效标识符举例: 34net / 开头不是字母或“_” a*b_net / 包含了非字母或数字, “$” “_” n238 /包含了非字母或数字, “$” “_” Verilog区分大小写,所有Verilog关键词使用小写字母,http:/ Sum 、CPU_addr等。 B、用下划线区分词。 C、采用一些前缀或后缀,如时钟采用Clk 前缀:C

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号