第02章-数据选择器的设计_第1页
第02章-数据选择器的设计_第2页
第02章-数据选择器的设计_第3页
第02章-数据选择器的设计_第4页
第02章-数据选择器的设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章数据选择器设计目录2.1项目需求分析2.2项目理论知识2.3项目设计2.4项目实施与调试2.5项目总结与拓展2.1项目需求分析设计一个简单的数据选择器模型,要求:(1)使用3个拨码开关模块作为数据选择器输入:2路数据输入和1路选择键;(2)使用1个LED灯模块作为数据选择器输出,指示数据选择结果;(3)通过选择键选择2路数据中的一个数据,然后作为结果输出.2.2项目理论知识2.2.1VerilogHDL语言的简介2.2.2VerilogHDL语言的基本组成2.2.3VerilogHDL语言的语言要素2.2.4VerilogHDL语言的描述语句2.2.1VerilogHDL语言的简介

目前的数字电路设计在层次上可分成以下4个层次:(1)算法级设计:用高级语言如C语言及其他一些系统分析工具(如MATLAB)从系统的算法级方面对设计进行描述.算法级不需要包含时序信息.(2)RTL(寄存器传送)级设计:用数据流在寄存器间传输的模式来对设计进行描述.(3)门级:用逻辑级的与、或、非门等门级之间的连接关系对设计进行描述.(4)开关级:用晶体管和寄存器及它们之间的连线关系来对设计进行描述.2.2.1VerilogHDL语言的简介

一、VerilogHDL语言的概念VerilogHDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模.被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间.数字系统能够按层次描述,并可在相同描述中显式地进行时序建模.2.2.1VerilogHDL语言的简介

二、VerilogHDL语言的特点(1)可以采用三种不同方式或混合方式对设计建模:①行为描述方式,使用过程化结构建模;②数据流方式,使用连续赋值语句方式建模;③结构化方式,使用门和模块实例语句描述建模.(2)VerilogHDL中有两类数据类型:①线网数据类型:表示构件间的物理连线;②寄存器数据类型:表示抽象的数据存储元件.(3)设计能够在多个层次上加以描述。

2.2.2VerilogHDL语言的基本组成一、模块的概念数字电路可简单归纳为两种要素:(1)线是器件引脚之间的物理连线;(2)器件也可简单归纳为组合逻辑器件(如与或非门)和时序逻辑器件(如寄存器、锁存器、RAM等).一个数字系统:多个器件+一定的连线关系.VerilogHDL的建模:使用VerilogHDL语言对数字电路的两种基本要素的特性及相互之间的关系进行描述的过程.模块是Verilog的基本描述单位,用于描述某个设计的功能或结构及其与其他模块通信的外部端口.2.2.2VerilogHDL语言的基本组成二、模块的基本结构一个模块的结构描述位于module和endmodule语句之间,每个模块由两部分组成:(1)接口描述,即说明输入引脚和输出引脚;(2)逻辑功能描述,即定义输入是如何影响输出的.2.2.2VerilogHDL语言的基本组成1.模块声明模块声明包括模块名和输入/输出端口列表:

module模块名(输入/输出端口列表);输入/输出端口列表是模块对外的通信接口,多个端口名之间用“,”隔开.2.端口声明语句块端口声明语句块主要用于说明模块的端口类型和位宽.常见的端口类型分为输入input、输出output双向端口inout

端口类型[信号位宽-1:0]端口名;2.2.2VerilogHDL语言的基本组成3.逻辑功能描述语句块逻辑功能描述语句块主要用于正确定义和说明模块的逻辑功能.也就是定义输入如何影响输出.(1)结构描述方式(调用库文件)(2)数据流描述方式(使用连续赋值语句assign)(3)行为描述方式(使用always过程块)2.2.3VerilogHDL语言的语言要素一、标识符标识符用于表示电路系统中的模块、寄存器、输入/输出端口、连线等物理对象的名称.标识符可以是字母、数字和下划线等符号组成的任意序列.定义标识符时应遵循以下规则:(1)首字符不能是数字;(2)字符数不能超过1024个;(3)大小写字母是不同的;(4)不能与关键字(保留字)同名.VerilogHDL允许使用转义标识符.2.2.3VerilogHDL语言的语言要素二、数据类型用硬件描述语言设计的电路模块所处理的数据就是实际电路中的物理连线、存储单元中的逻辑值.1.常量在程序运行的过程中,其值不能被改变的量称为常量.(1)整数型数据.二进制整数、十进制整数、十六进制整数和八进制整数.<符号位><位宽>′<进制符号><数值>8′b110010112.2.3VerilogHDL语言的语言要素(2)实数型数据:①十进制方式:例如3.24②指数方式:例如100000.0表示为1.0E5(3)字符型数据.字符串用双引号括起来的字符序列,例如“HelloWorld!”.(4)参数型数据.用parameter定义一个标识符来代表一个常量,称为符号常量,即标识符形式的常量,采用标识符代表一个常量可提高程序的可读性和可维护性.参数型数据常用于定义延迟时间和变量宽度.其格式如下:

parameter参数名1=表达式1,……,参数名n=表达式n;2.2.3VerilogHDL语言的语言要素2.变量变量是指程序运行过程中其值可以改变的量。(1)wire型.相当于组合逻辑电路中的各种连接线:

wire[n-1:0]数据1,数据2,……,数据i;//定义了i个n位的wire型变量,共有i条总线,每条总线内有n条线路(2)reg型.一种暂存数据的变量.

reg[n-1:0]数据名1,数据名2,……,数据名i;//定义了i个n位的reg型变量,共有i个寄存器,每个寄存器都是n位(3)memory型.对reg型变量建立数组来对存储器建模,可以描述RAM型存储器、ROM型存储器和reg文件.

reg[n-1:0]存储器名[m-1:0];//定义一个m×n的存储器,存储器的存储单元是一个n位寄存器,共有m个存储单元2.2.3VerilogHDL语言的语言要素三、运算符和表达式1.算术运算符:+、-、∗、/、%2.位运算符:~、&、|、^、^~3.逻辑运算符:&&(逻辑与)、||(逻辑或)、!(逻辑非)4.关系运算符:>、<、>=、<=5.等式运算符:==、!=、===、!==6.移位运算符:<<(左移位运算)、>>(右移位运算)7.条件运算符:?:8.位拼接运算符:{}9.缩减运算符:,

&、~&、|、~|、^、^~2.2.4VerilogHDL语言的描述语句一、赋值语句1.非阻塞赋值(Non_blocking):c<=a;2.阻塞赋值(Blocking):c=a;二、块语句1.顺序语句块(begin…end)2.并行语句块(fork…join)三、条件语句1.if条件语句2.case条件语句2.2.4VerilogHDL语言的描述语句四、循环语句1.forever语句2.repeat语句3.while语句4.for语句五、结构说明语句1.initial语句2.always语句3.task语句4.function语句2.3项目设计2.3.1项目功能分析2.3.2项目硬件设计2.3.3项目软件设计2.3.1项目功能分析2.3.2项目硬件设计2.3.3项目软件设计(1)结构描述方式(2)数据流描述方式(3)行为描述方式2.4项目实施与调试2.4.1项目实施2.4.2项目调试2.4.1项目实施一、设计输入1.建立工程2.建立设计文件二、设计处理三、设计校验四、器件编程2.4.2项目调试一、电路调试拨动拨码开关,查看发光二极管的亮灭情况,看是否符合选择器的逻辑要求和设计要求.二、故障现象与分析(1)设置输入端口所连接的拨码开关,拨动选择功能拨码开关,但LED灯不变化:引脚没有分配好,需检查重新分配引脚.(2)设置输入端口所连接的拨码开关,拨动选择功能拨码开关,但LED灯亮灭情况错误:电路设计逻辑有错误,需检查纠正错误.2.5项目总结与拓展2.5.1项目总结2.5.2项目拓展2.5.1项目总结1.掌握VerilogHDL语言的基本组成2.掌握VerilogHDL语言的数据类型、运算符和表达式3.掌握VerilogHDL语言的赋值语句、块语句4.掌握VerilogHDL语言的条件语句、循环语句和结构说明语句2.5.2项目拓展1.采用VerilogHDL语言文本输入法,设计实现一个4位2路数据选择器.要求:使用3种逻

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论