搜档网
当前位置:搜档网 › 基于Nios II的LCD控制器IP核设计

基于Nios II的LCD控制器IP核设计

基于Nios II的LCD控制器IP核设计
基于Nios II的LCD控制器IP核设计

1 概述

1.1 课题概述

本文所要进行描述的设计是运用VHDL语言和Verilog HDL语言,通过分析LCD 控制器的硬件结构和控制时序,使用SoPC技术,把Nios CPU和LCD控制器放在同一个FPGA中。并通过对相应变量的参数化,实现有一定通用性的LCD IP 核设计。目的是解决在利用Quartus Ⅱ进行Nios系统开发时,由于内部没有可用LCD的IP,影响产品开发的问题。

1.2 LCD控制器软核设计

所要设计的LCD控制器是要求符合Avalon总线规范的。FPGA中集合了Nios Ⅱ CPU、DMA和LCD控制器模块,以及三态桥(连接Flash)、SDRAM控制器。LCD 控制器的位置如图(1-1)所示,一端连接Avalon总线,一端连接LCD接口(LCD 屏幕标准接口)。LCD控制器负责从SDRAM中提取显示数据,经处理符合LCD时序规范,送至LCD接口,实现显示图像。

图1-1系统总貌图

Fig. 1-1 System Summarization

2 相关技术介绍

本小节主要介绍本论文中所涉及的关键理论和技术,包括LCD显示技术,SOPC技术,SOPC技术特点,Nios II处理器,Avalon总线,DMA技术。

2.1 LCD显示技术

在1970年,Ferguson制造了第一台具有实用性的LCD。LCD 使用液晶屏幕显示图象,液晶屏幕以电压供应的改变而改变光线的折射来产生色彩的变化LCD 显示屏一般都应用在便携电脑或多媒体放映机上。大部分桌面电脑的纯平LCD 显示器就是采用了LCD 技术。

利用液晶制成的显示器称为液晶显示器,英文称 LCD(Liquid Crystal Display)。其种类可分为依驱动方式之静态驱动(Static)、单纯矩阵驱动(Simple Matrix)以及主动矩阵驱动(Active Matrix)三种。而其中,单纯矩阵型又俗称的被动式(Passive),可分为扭转向列型(Twisted Nematic,简称 TN)和超扭转式向列型(Super Twisted Nematic,简称STN)两种;而主动矩阵型则以薄膜式晶体管型(Thin Film Transistor;TFT)为目前主流。

LCD因具有工作电压低、功耗小、显示信息量大、寿命长、易集成、方便携带和电磁辐射污染小等优点,在显示技术中异军突起,被广泛应用于手机、PDA 产品、手持式仪器仪表等便携式电子产品与设备中。LCD驱动电路是液晶显示系统的重要组成部分,是一种计算机(或MCU)和液晶屏之间的接口电路,其主要功能是通过调制输出到液晶显示器件电极上的电位信号的相位、峰值、频率等参数来建立交流驱动电场。由于LCD的规格相差较大,常规的方法是针对每一种LCD开发专门的驱动电路,这样的设计浪费时间,而且复用性较差。为此,设计一种可用于多数小规模LCD驱动电路的IP核,通过复用该IP核来解决这个问题是非常必要的。

目前,国际上只有I-Shou大学的Yu-Jung Huang等人设计了可驱动不同规模LCD的驱动电路IP核,通过在系统中植入嵌入式微处理器来实现这一功能。但是,这种嵌入式微处理器使系统更复杂,而且成本更高。本文设计的可驱动不同规模LCD的驱动电路IP核是采用FPGA来实现的,能有效克服电路系统复杂和高成本这两个缺点。

2.2 SOPC技术

SoPC(System On a Program Chip,片上可编程系统)是以PLD(Programmable Logic Device,可编程逻辑器件)取代ASIC(Application Specific Integrated Circuits,专用集成电路),更加灵活、高效的SoC(System On Chip)解决方案。它最早是由美国Altera公司于2000年提出的,并同时推出了相应的开发软件Quartus Ⅱ。SoPC是基于FPGA(Field Programmable Gate Array,现场可编程门阵列)解决方案的SoC,与ASIC的SoC解决方案相比,SoPC系统及其开发技术具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能,具有更多的特色,构成SoPC的方案也有如下多种途径。

2.2.1基于FPGA嵌入IP硬核的SoPC系统

即在FPGA中预先植入嵌入式系统处理器。目前最为常用嵌入式系统大多采用了含有ARM的32位知识产权处理核的器件。但通常这种系统还须配置许多接口器件才能构成一个完整的应用系统,如除配置常规的SRAM、DRAM、Flash外,还须配置网络通信接口、USB接口、VGA接口、PS/2接口或其他专用接口等。这样会增加整个系统的体积、功耗,而降低系统的可靠性。但是如果将ARM或其他知识产权核,以硬核方式植入FPGA中,利用FPGA中的可编程逻辑资源和IP 软核,直接利用FPGA中的逻辑宏单元来构成该嵌入式系统处理器的接口功能模块,就能很好的解决这些问题。这样就能使得FPGA中的硬件设计核硬件实现更与处理器的强大软件功能有机的相结合,高效的实现SoPC系统。

2.2.2基于FPGA嵌入IP软核的SoPC系统

将IP硬核直接植入FPGA的解决方案也存在许多不完美之处。例如硬核多来自第3方公司,导致FPGA器件价格相对偏高;由于硬核是预先植入的,设计者无法根据实际需要改变处理器的结构,如总线规模,接口方式,乃至指令形式,更不能将FPGA逻辑资源构成的硬件模块以指令的形式内置嵌入式系统的硬件加速模块(如DSP模块),以适应更多的电路功能要求;无法根据实际设计需求在同一FPGA中使用多个处理器核。以上诸多不利因素可利用软核嵌入式系统处理器来有效的解决。

目前最有代表性的软核嵌入式系统处理器分别是Altera的Nios和Nios Ⅱ核,及Xilinx的MicroBlaze核。特别是前者,即Nios CPU系统,将很好的解决上述不利因素。

Altera的Nios核是用户可随意配置和构建的32位/16位总线(用户可选的)指令集和数据通道的嵌入式系统32位处理器IP核,采用Avalon总线结构通信接口,带有增强的内存、调试和软件功能(C或汇编程序优化开发功能);含有First Silicon Solutions(FS2)开发的基于JTAG的片内设备(OCI)内核。此外,基于Quartus Ⅱ平台的用户可编程的Nios核含有许多可配置的接口模块核,包括:可配置高速缓存(包括片内ESB、外部SRAM或SDRAM,100MB 以上单周期访问速度)模块,可配置RS232通信口、SDRAM控制器、标准以太网协议接口、DMA、定时器、协处理器等。在植入FPGA前,用户可根据设计要求,利用Quartus Ⅱ和SoPC Builder,对Nios及其外围系统进行构建,使该嵌入式系统在硬件结构、功能特点、资源占有等方面全面满足用户系统设计的要求。

2.2.3基于HardCopy技术的SoPC系统

HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的SoPC 系统通过特定的技术直接向ASIC转化,从而克服传统ASIC技术中普遍存在的问题。

HardCopy技术是一种全新的SoC级ASIC设计解决方案,它是将专用的硅片设计和FPGA至HardCopy自动迁移过程结合在一起的技术。首先利用Quartus Ⅱ将系统模型成功实现于HardCopy FPGA上,然后帮助设计者把可编程解决方案无缝的迁移到低成本的ASIC上的实现方案。这样,HardCopy器件就把大容量FPGA的灵活性和ASIC的市场优势结合起来,实现对于有较大批量要求并对成本敏感的电子系统产品上,从而避开了直接设计ASIC的困难,达到降低成本,加快面市周期的目的。

2.3 SOPC技术的特点

SoPC技术主要面向单片系统级专用集成电路设计的计算机技术,与传统的专用集成电路设计技术相比,其特点有:

设计全程,包括电路系统描述、硬件设计、仿真测试、综合、调试、系

统软件设计,直至整个系统的完成,都由计算机进行。

●设计技术直接面向用户,即专用集成电路的被动使用者同时也可能是专

用集成电路的主动设计者。

●系统级专用集成电路的实现有了更多的途径,即除传统的ASIC器件外,

还能通过大规模FPGA等可编程器件来实现。

2.4 Nios II处理器

Nios嵌入式处理器是用户可配置的通用RISC嵌入式处理器,它是一个非常灵活和强大的处理器。Nios处理器的易用和灵活已经使它成为世界上最流行的嵌入式处理器。

嵌入式设计者SoPC Builder系统开发工具能够很容易地创建自己的处理器系统。SoPC Builder可用于集成一个或多个可配置的带有许多标准外围设备的Nios CPU,并利用自动形成的Avalon交换结构总线将这些系统连接在一起。

Nios嵌入式处理器是FPGA生产厂商Altera公司推出的软核(Soft Core)CPU,是一种面向用户的,可以灵活定制的通用RISC(精简指令集架构)嵌入式CPU。Nios以软核的方式提供给用户,并专为在Altera的FPGA上实现作了优化,用于SoPC集成,最后在FPGA上实现。

SOPC系统主要包括一个CPU、I/O终端申请、计时器、UART口及大量的通用寄存器。Nios的数据总线和地址总线由用户定义(最大为32位),也可以根据具体需求增加并行输入输出端、连接外设的接口逻辑等。

Nios Ⅱ系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS(Dhrystone Million Instructions executed Per Second)。Altera 的Stratix 、Stratix GX、 Stratix Ⅱ和 Cyclone系列FPGA全面支持Nios Ⅱ处理器,以后推出的FPGA器件也将支持Nios Ⅱ。

Nios Ⅱ系列能够满足任何应用32位嵌入式微处理器的需要,用户可以将第一代Nios处理器设计移植到某种Nios Ⅱ处理器上,Altera将长期支持现有FPGA系列上的第一代Nios处理器。另外,Altera提供了一键式移植选项,可以升级至Nios Ⅱ系列。Nios Ⅱ处理器也能够在HardCopy器件中实现,Altera 还为基于Nios Ⅱ处理器的系统提供ASIC的移植方式。

Nios Ⅱ处理器还具有完善的软件开发套件,包括编译器、集成开发环境(IDE)、JTAG调试器、实时操作系统(RTOS)和TCP/IP协议。设计者能够用

Altera Quartus Ⅱ开发软件中的SoPC Builder系统开发工具很容易地创建专用的处理器系统,并能够根据系统的需求添加Nios Ⅱ处理器核的数量。

使用Nios II软件开发工具能够为Nios II系统构建软件,即一键式自动生成适用于系统硬件的专用C/C++运行环境。Nios II集成开发环境(IDE)提供了许多软件模板,简化了项目设置。此外,Nios II开发套件包括两个第三方实时操作系统(RTOS)——MicroC/OS-II(Micrium),Nucleus Plus(ATI/Mentor)以及供网络应用使用的TCP/IP协议。

在FPGA中使用软核处理器比硬核的优势在于,硬核实现没有灵活性,通常无法使用最新的技术。随着系统日益先进,基于标准处理器的方案会被淘汰,而基于Nios II处理器的方案是基于HDL(Hardware Description Language,硬件描述语言)源码构建的,能够修改以满足新的系统需求,避免了被淘汰的命运。将处理器实现为HDL的IP核,开发者能够完全定制CPU和外设,获得恰好满足需求的处理器。

2.5 Avalon总线简介

Avalon总线是Altera公司设计的用于SoPC中,连接片上处理器和其它IP 模块的一种简单的总线协议,规定了主部件和从部件之间进行连接的端口和通信的时序。Avalon总线的主要设计目的如下:

简单性,提供一种非常易于理解的协议;

优化总线逻辑的资源使用率,将逻辑单元保存在PLD中;

同步操作,将其它的逻辑单元很好地集成到同一PLD中,同时避免复杂的时序。

Avalon交换式总线使用最少的逻辑资源来支持数据总线的复用、地址译码、等待周期的产生、外设的地址对齐(包括支持原始的和动态的总线尺寸对齐)、中断优先级的指定以及高级的交换式总线传输。

传统的总线结构中,一个中心仲裁器控制多个主设备和从设备之间的通信。这种结构会产生一个瓶颈,因为任何时候只有一个主设备能访问系统总线。Avalon总线的开关构造使用一种称之为从设备仲裁(Slave-side arbitration)的技术,允许多个主设备控制器真正地同步操作。当有多个主设备访问同一个从设备时,从设备仲裁器将决定哪个主设备获得访问权。

Avalon规范的制定是为了适应单可编程芯片系统(SoPC)上的外设的开发。

这个规范给那些外设设计工程师提供了一个基本的描述——基于地址的Avalon 总线上主(微处理器)从(存储器、UART、定时器外设等)设备的读/写口。这个规范还描述了各个端口在Avalon交换总线上的传输方式。根据规范,任何一个Avalon上的主设备都可以动态的连接到Avalon上的任何一个从设备上。

Avalon是一个灵活的接口,工程师可以只使用他们系统所需的数量和类型都有限的几个信号来进行数据传输。Avalon总线定义的内联线的策略使得任何一个Avalon总线上的主设备都可以与任何一个从设备沟通。Avalon总线还支持大范围的系统结构,包括单个的,多个的主设备系统,还具有在外设之间通过不同路径进行无缝的数据传输能力。

可以看到Avalon总线为用户提供了非常友好的接口,使得系统搭建中的一些细节问题得到屏蔽,大大减轻了系统搭建的工作量。

2.6 DMA技术

(一)DMA的概念:

DMA是在专门的硬件( DMAC)控制下,实现高速外设和主存储器之间自动成批交换数据尽量减少CPU干预的输入/输出操作方式。

通常有两种方式:

独占总线方式

周期挪用方式

(二)DMA的组成:

●主存地址寄存器

●数据数量计数器

●DMA的控制/状态逻辑

●DMA请求触发器

●数据缓冲寄存器

●中断机构

(三)DMA的传送数据的过程:由三阶段组成:

●传送前的预处理:由CPU完成一下步骤,向DMA卡送入设备识别信号,

启动设备,测试设备运行状态,送入内存地址初值,传送数据个数, DMA

的功能控制信号;

●数据传送: DMA自动完成;

传送结束处理。

(四)DMA上应包括通用接口的全部组成部分,并多出如下内容:

主存地址寄存器,传送字数计数器,DMA控制逻辑,DMA请求,DMA响应,DMA工作方式,DMA优先级及排队逻辑等。

(五)一次完整的DMA传送过程:

DMA 预处理,CPU向DMA送命令,如DMA方式,主存地址,传送的字数等,之后CPU执行原来的程序。

(六)DMA 控制在 I/O 设备与主存间交换数据:

准备一个数据, 向CPU发DMA请求,取得总线控制权,进行数据传送,修改卡上主存地址,修改字数计数器且检查其值是否为零,不为零则继续传送,若已经为零,则向 CPU发中断请求。这就是DMA的大概工作原理和特点。

图2-1 FPGA中DMA单元结构框图

Fig. 2-1 structure diagram of DMA units on FPGA

2.7 Quartus Ⅱ和SoPC Builder简介

图2-2 Quartus II软件

Fig. 2-2 Quartus II software

2.7.1 Altera Quartus Ⅱ简介

Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。Altera公司的Quartus II 设计软件提供完整的多平台设计环境,它可以轻易满足特定设计的需要。它是单芯片可编程系统 (SOPC) 设计的综合性环境。Quartus II 软件拥有 FPGA 和 CPLD 设计的所有阶段的解决方案。

Quartus II支持多种输入法,包括原理图,Verilog HDL、VHDL、AHDL、EDIF 等。Quartus II支持不同的仿真方式,包括功能仿真和时序仿真。仿真波形的

激励可以是图形方式输入信号,也可以是Testbench方式文本文件(即用Tck 写仿真脚本文件)。此外,其还支持第三方的仿真工具。用第一种方式进行仿真时,对输入信号加入相应激励就可以了。在局部布线后,会产生以个.SOF和.POF 文件,两者都可以进行下载。

我们就利用这个平台来进行工程项目开发的。

2.7.2 SoPC Builder简介

Quartus Ⅱ软件支持 SoPC Builder 和 DSP Builder 的系统级设计流程。系统级设计流程使工程师能够以更高水平的抽象概念快速地设计和评估单芯片可编程系统 (SoPC) 体系结构和设计。

SoPC Builder 是自动化系统开发工具,可以有效简化建立高性能 SoPC 设计的任务。此工具能够完全在 QuartusⅡ软件中使系统定义和 SoPC 开发的集成阶段实现自动化。 SoPC Builder 允许选择系统组件,定义和自定义系统,并在集成之前生成和验证系统。下图显示了 SoPC Builder 设计流程。

图2-3 SOPC 设计流程

Fig. 2-3 SOPC design flow chart

SoPC Builder可以导入或提供到达用户自定义逻辑块的接口。 SoPC Builder 系统与用户定义逻辑配合使用时具有以下四种机制:简单的 PIO连接、系统模块内实例化、到达外部逻辑的总线接口以及发布局域 SoPC Builder 组件。

SoPC Builder 与 Quartus Ⅱ软件一起提供,它为建立 SoPC 设计提供标准化的图形环境,其中,SoPC 由 CPU、存储器接口、标准外围设备和用户自定义的外围设备等组件组成。 SoPC Builder 允许选择和自定义系统模块的各个组件和接口。 SoPC Builder 将这些组件组合起来,生成对这些组件进行实例化的单个系统模块,并自动生成必要的总线逻辑,以将这些组件连接到一起。

●SoPC Builder 库组件包括:

处理器

知识产权 (IP) 和外围设备

存储器接口

通信外设总线和接口,包括 Avalon 总线和 AMBA 高性能总线 (AHB) 数字信号处理 (DSP) 内核

软件

标题文件

一般 C 驱动器

操作系统 (OS) 内核

可以使用 SoPC Builder 构建包括 CPU、存储器接口和 I/O 外设的嵌入式微处理器系统;但是,还可以生成不包括 CPU 的数据流系统。它允许指定具有多个主连接和从连接的总线拓扑结构。 SoPC Builder 还可以导入或提供到达用户自定义逻辑块的接口,其中,逻辑块作为自定义外设连接到系统上。

●建立系统

在 SoPC Builder 中构建系统时,可以选择用户自定义模块或模块集组件库中提供的模块。SoPC Builder 可以导入或提供到达用户自定义逻辑块的接口。SoPC Builder 系统与用户定义逻辑配合使用时具有以下四种机制:简单的 PIO 连接、系统模块内实例化、到达外部逻辑的总线接口以及发布局域 SoPC Builder 组件。SoPC Builder 提供用于下载的库组件(模块),包括 Excalibur 嵌入式处理器带区和 NIOS 处理器等处理器、UART、定时器、PIO、Avalon 三态桥接器、多个简单的存储器接口和 OS/RTOS 内核。此外,还可以从一系列的MegaCore、 OpenCore生成系统生成系统。可以在模块集中选择库组件,并在模

块表中显示添加的组件。可以使用模块表或单独向导中的信息定义以下组件选项:系统组件和接口

主连接和从连接

系统地址映射

系统 IRQ 分配

共享从连接的仲裁优先级

系统时钟频率

生成系统

SoPC Builder 中的每个工程包含系统描述文件(PTF 文件),它包含在 SoPC Builder 中输入的所有设置、选项和参数。此外,每个模块具有相应的PTF 文件。在生成系统期间, SoPC Builder 使用这些文件为系统生成源代码、软件组件和仿真文件。完成系统设计之后,可以使用SoPC Builder 的 System Generation 页或使用命令行生成系统。

SoPC Builder 软件自动生成所有必要逻辑,用以将处理器、外围设备、内存、总线、仲裁器、IP 内核及到达系统外逻辑和存储器的接口集成在一起,并建立将组件捆绑在一起的HDL 源代码。

SoPC Builder 还可以建立软件开发工具包 (SDK) 软件组件,例如,标题文件、一般外围设备驱动程序、自定义软件库和OS/实时操作系统(RTOS内核),以便在生成系统时提供完整的设计环境。为了仿真, SoPC Builder 建立了Model Technology ModelSim 仿真目录,它包含 ModelSim 工程文件、所有存储器组件的仿真数据文件、提供设置信息的宏文件、别名和最初的一组总线接口波形。

它还建立仿真测试台,可以实例化系统模块、驱动时钟和复位输入,并可以实例化和连接仿真模型。还生成 Tcl 脚本,用于在Quartus Ⅱ软件中设置系统编译所需的所有文件。

3 方案设计

根据系统设计的要求,以及Nios II嵌入式系统的特点,提出以下两个方案,做相应的比较和分析,从而确定更为合适的、可行的、有实用价值的设计方案。

3.1方案(一)

方案(一),逻辑器件由以下组成:

表3-1 方案一逻辑器件

Table 3-1 logic device of No.1 blue print

Flash存储初始化信息和图像数据,当系统上电复位时,将存储的信息通过CPU分别存入SDRAM(1)、(2);此时SDRAM(1)用于系统程序运行存储,而SDRAM (2)用于独立显示存储。DMA负责把显示信息从SDRAM(2)中顺序提取,并送入LCD控制模块中的视频缓存FIFO中,并配合LCD的控制时序,把显示像素数据RGB送到LCD显示器上显示。

这个设计的特点是给与系统以独立的程序运行空间和视频数据的缓存。但存在一定的局限性。这个方案的特点是系统结构清晰;系统程序和像素数据分开存储,划分严格,有良好的操作性。

图3-1 方案(一)系统框图

Fig. 3-1 System diagram of No.1 blue print

3.2方案(二)

方案(二)设计,逻辑器件由以下组成:

表3-2 方案二逻辑器件

Table 3-2 logic device of No.2 blue print

同方案(一)Flash用来存储初始化程序和图像信息,系统上电复位后,信息通过Nios CPU将信息存于同一个SDRAM中,划分SDRAM的地址分配,使系统和像素信息共享SDRAM空间。

这个系统的特点就是把系统程序的运行空间和显示存储器共享一个SDRAM。

能实现共享,就可以实现独立例如【方案(一)】。有一定通用性。

图3-2 方案(二)系统框图

Fig. 3-2 System diagram of No.2 blue print

4 方案的分析及选定

综合上述两个方案的设计分析其各自的特点:

方案(一),采用双SDRAM设计,这是设计初期的方案,当时为了思路的简明、结构上采取了独立SDRAM的存储空间来解决系统程序运行空间和显示存储空间的问题。但系统的方案也暴露除了一些实际问题。由于采用相互独立的SDRAM存储器,设计难度降低,方案实用性(通用性、适应性等方面)就减弱了,并且双SDRAM存储器带来了相应的功耗和成本、资源的消耗,不利于环保。

相比较而言,方案(二)有它相对的合理性和可行性,系统存储和显示存储共享同一个SDRAM,而MUX(多路复用器)只有一套数据总线和地址总线,所以这里Nios II CPU和DMA对SDRAM的控制读写的问题有提了出来,但这个问题是可以解决的,采取多路复用器(MUX,以及划分SDRAM存储空间,把视频数据基地址(base address)通过在SoPC Builder中做相应更改就可以解决了。

5 系统实现

5.1 LCD控制器IP核设计

5.1.1设计思路

图5-1 设计LCD控制器

Fig. 5-1 design LCD controller

图5-2 S3C2410结构图

Fig. 5-2 S3C2410 Frame

5.1.2 S3C2410介绍

图(5-2)是三星公司生产的基于ARM9平台的S3C2410的LCD控制器的结构示意图,其功能可以驱动STN、TFT等多种型号LCD显示屏。图(5-1)是本设计仿照S3C2410,简化后的系统设计。由寄存器堆(REGBANK)、控制器专用DMA、视频FIFO、LCD控制时序发生组成。

现在简单分析S3C2410工作原理:REGBANK是控制器的寄存器堆,包含初始化信息。负责初始化DMA模块、时序发生模块以及LPC3600(时序控制逻辑单元)。

LCDCDMA,是LCD控制器的专用DMA,内置FIFO缓冲单元。相对总线频率,LCD是一个低速设备。这里FIFO的存在是必要的。

TIMEGEN,时序发生装置,负责产生LCD适应的时钟脉冲。

LPC3600,这是个时序控制逻辑电源,它何以根据控制寄存器的参数,适应多种LCD显示屏的时序,实现通用性。本设计也是在这个部分进行了简化。

5.1.3 LCD控制器的软核设计

本设计,参照S3C2410设计,进行了以下开发。

在FPGA中,定制DMA、FIFO、寄存器以及时序发生逻辑单元。简化LPC3600的功能,实现驱动特定LCD(TFT)的设计目的。

本设计的像素数据为16位,显示格式为5:6:5。

5.2 LCD控制器组成

5.2.1 LCD控制器的相关参数、变量:

分辨率:m×n (行×列)

帧同步:VSYNC 标志这一屏显示的开始,帧同步信号;

行同步:HSYNC 表示一行数据的开始,行同步信号;

像素时钟:VCLK 像素时钟信号(pixel clock signal);

系统时钟:CLK Nios系统的时钟信号;

水平变量:HOZVAL = (水平显示尺寸[n]) -1,属寄存器变量;

垂直变量:LINEVAL = (垂直显示尺寸[m]) -1,属寄存器变量。

5.2.2像素存储与显示屏位置的映射关系:

图5-3 显示屏像素点分布

Fig. 5-3 Pixel distribution of display

扫描顺序为P00~P0n ,P10~P1n ……Pm0~Pmn 。

表5-1 像素点Pmn 的布局顺序

Table 5-1 The Order of Pixel distribution

像素点在LCD 屏幕上的分布。P00为起始扫描点。Pmn 为中止扫描点。对应位置关系如作表所示。其中m 表示行数,n 表示列数。分辨率就是由m 、n 的值决定的。而更改寄存器中的m 、n 的值即可改变传送数据,这样也就改变了输出显示图像的分辨率。

m

5.2.3 5:6:5显示格式

图5-4 像素数据映射

Fig. 5-4 Pixel data mapping

Nios系统是32位系统,我们可以设置32位数据的高16位和低16位分别是两个像素点显示数据。也可以设计16位数据,每一个字为一个像素点数据。

表5-2 存储器数据分布

Table 5-2 Memory data distribution

显示存储器(SDRAM)为线性存储器。显示格式为5:6:5格式,这就是说每一个像素点的数据(RGB)为16位。分别为D15~D0。像素点的数据(16位

四位原码乘法器

1.课程设计的内容和要求 内容:设计四位原码乘法器电路。 要求:1.有关资料,设计乘法器电路; 2.画出乘法器逻辑图; 3.在实验箱上完成乘法器电路的组装,调试,核对记录,测试有关数据, 通过老师当场验收; 4.完成课程设计报告。 1.课程设计原理 运用存储器的存储功能实现数字的存储。令电路的初始状态为000,000,000000。以二进制的形式输入数字,计算方式是以十进制数字乘法。输入的数字为三位数字,输出的是六位数字。先存储输入的乘数和乘积,然后再将乘积的导线端连到输出段,此时之前输入的乘积就可以在输出端显示。 此时序电路的真值表为:

1.课程设计思路 本次课程设计的题目为四位原码乘法器,利用真值表输入乘数时,需要存放数字,于是我查阅了一些资料,用存储器可以实现这一电路,所以本实验中用到的是INTEL 2114芯片。 具体实现过程如下图: a a b b F 32F 1 1.课程设计所需的器材 1.2114是一个容量为1K4位的静态RAM芯片,常用于寄存器。 其具体的引脚图为: 此芯片的电路图为: 2.数字电路实验箱 3.导线若干 1.课程设计实现 本次课程设计的题目是四位原码乘法器电路。 此部分只用到了2块INTEL2114芯片,具体连接如下: 1、先将这些芯片按在电路板上(注意不要插反,否者容易烧毁芯片)。 2、将两片芯片的A6和GND端,A7,A8,A9接地。 3、Vcc端接电压5V,cs接存储端,WE端接控制端。 4、两块芯片的A5,A4,A3组成一个乘数,A0,A1,A2组成另一个乘数。其中一块芯

片的I/O1,I/O2,I/O3,I/O4和另一块芯片的I/O1,I/O2组成要求的乘积。乘数与乘积的显示方式均为二进制,但是计算方法是以十进制数的乘法法则计算。 1.调试步骤及方法 在连接实验器件之前,要先检查如下实验器件: 1、检查芯片引脚是否有损坏。 2、检查电路板是否好用。 连接实验器件时要注意: 2严格按照电路图一步一步连接,以避免连接错误。 3导线要先连接电源测试是否导电。 连接好电路进行数据测试,输入001,010,000010,存储;001,101,000101,存储;001,111,000111,存储。将连在输入端的四个输出连接到输出端,并输入001,010,但是结果并不是000010,而是000100;再输入001,101,也没有得到000101的结果,而是000110的结果。检查线路,发现输出的线路错位,纠正后重新输入乘数,结果均得到计算结果。调试成功。 1.实验结果 连接好整个电路。A5A4A3和A2A1A0为输入端,即乘数,F5F4F3F2F1F0为输出端,即乘积。如下表: 8. 课程设计结果 输入000,000,000000,存储;

44数字乘法器设计

4*4数字乘法器设计 1.设计任务 试设计一4位二进制乘法器。4位二进制乘法器的顶层符号图如图1所示。 END P A B 1 0 1 11 1 0 1×1 0 1 10 0 0 01 0 1 11 0 1 1 1 1011001 图1 4位乘法器顶层符号图 图2 4位乘法运算过程 输入信号:4位被乘数A (A 3 A 2 A 1 A 0),4位乘数B (B 3 B 2 B 1 B 0),启动信号START 。 输出信号:8位乘积P (P 7 P 6 P 5 P 4 P 3 P 2 P 1 P 0),结束信号END 。· 当发出一个高电平的START 信号以后,乘法器开始乘法运算,运算完成以后发出高电平的END 信号。 2.顶层原理图设计 从乘法器的顶层符号图可知,这是一个9输入9输出的逻辑电路。一种设计思想是把设计对象看作一个不可分割的整体,采用数字电路常规的设计方法进行设计,先列出真值表,然后写出逻辑表达式,最后画出逻辑图。这种设计方法有很多局限性,比如,当设计对象的输入变量非常多时,将不适合用真值表来描述,同时,电路功能任何一点微小的改变或改进,都必须重新开始设计。另一种设计思想是把待设计对象在逻辑上看成由许多子操作和子运算组成,在结构上看成有许多模块或功能块构成。这种设计思想在数字系统的设计中得到了广泛的应用。 对于4位乘法器而言,设A =1011,B =1101,则运算过程可由图2所示。从乘法运算过程可知,乘法运算可分解为移位和相加两种子运算,而且是多次相加运算,所以是一个累加的过程。实现这一累加过程的方法是,把每次相加的结果用部分积P 表示,若B 中某一位 B i =1,把部分积P 与A 相加后右移1位;若B 中某一位B i = 0,则部分积P 与0相加后右移1位(相当于只移位不累加)。通过4次累加和移位,最后得到的部分积P 就是A 与B 的乘积。 为了便于理解乘法器的算法,将乘法运算过程中部分积P 的变化情况用图3表示出来。存放部分积的是一个9位的寄存器,其最高位用于存放在做加法运算时的进位输出。先把寄存器内容清零,再经过4次的加法和移位操作就可得到积。注意,每次做加法运算时,被乘

乘法器课程设计

摘要:基于VHDL的数字系统设计具有设计技术齐全、方法灵活、支持广泛等优点,同时也是EDA技术的重要组成部分.文章用VHDL语言设计了左移法和进位节省法实现的两种组合乘法器,通过功能仿真,对两种乘法器的性能进行了比较,从而得知后者的传输延迟时间小,即速度较快.通过设计实例,介绍了利用VHDL语言进行数字系统设计的方法. 关键词:VHDL语言左移法进位节省法 Abstract:Digital system design based on VHDL has complete design techniques, methods, the advantages of flexible and wide support, at the same time also is the important component of the EDA technology. The article using VHDL language to design the left shift method and carry save method to realize the combination of two kinds of multiplier, through the function simulation, compares the performance of the two kinds of multiplier, which the latter's small transmission delay time, namely fast. Through the design example, introduced the method of using VHDL language to design digital system. Keywords:VHDL language ,left shift method ,carry save method

有符号5位整数乘法器设计与制作

哈尔滨工业大学(威海) 信息科学与工程学院 EDA课程设计报告 有符号5位整数乘法器设计与制作 指导老师:胡屏 学生班级:0802102 学生姓名:傅愉 学生学号:080210210 2009年11月10日

目录 1.课程设计的性质、目的和任务 (1) 2.题目要求 (1) 3.总体设计 (1) 3.1算法设计 (1) 3.2整体框图及原理 (2) 4.电路设计 (4) 4.1 乘法器总体电路原理图: (4) 4.2分时输入模块电路图: ........................................................... - 5 - 4.3乘法运算电路图: (6) 4.4阀门控制模块电路: ............................................................... - 9 - 4.5计数单元电路图: ................................................................. - 12 - 4.6数码管显示单元电路: ......................................................... - 14 - 4.7报警电路示意: ......................................... 错误!未定义书签。 5.调试过程中出现的问题以及解决办法 .......................................... - 19 - 6.心得体会........................................................................................... - 20 - 7.建议:............................................................................................... - 21 - 1.课程设计的性质、目的和任务 创新精神和实践能力二者之中,实践能力是基础和根本。这是由

乘法器的设计

物理与电子工程学院集成电路设计课程论文题目:乘法器的研究 学生姓名:XXX 指导教师:XXX 201X年XX月XX日

乘法器 摘要:乘法器,其基础就是加法器结构,它已经是现代计算机中必不可少的一部分。 乘法器的模型就是基于“移位和相加”的算法。本文讨论基本的阵列乘法器,以及产生部分 积和最终求和。 关键词:全加器,半加器,阵列。 引言: 乘法运算非常耗费硬件面积并且速度很慢,许多计算问题解决的快慢受乘法器电 路工作速度的约束,因此在现代高级的数字信号处理器和微处理器中都集成了硬件乘法单 元。并且乘法器在当今数字信号处理以及其他诸多应用领域中起着十分重要的作用。随着科 学技术的发展,许多研究人员已经开始试图设计一类拥有更高速率和低功耗,布局规律占用 面积小,集成度高的乘法器。这样,就能让它们更加适用于高速率,低功耗的大规模集成电 路的应用当中。通常的乘法计算方法是添加和位移的算法。在并行乘法器当中,相加的部分乘积的数量是主要的参数。它决定了乘法器的性能。为了减少相加的部分乘积的数量,修正 的Booth 算法是最常用的一类算法。但是,随着并行化的增多,大量的部分乘积和中间求和 的增加,会导致运行速度的下降。不规则的结构会增加硅板的面积,并且由于路由复杂而导 致中间连接过程的增多继而导致功耗的增大。另一方面串并行乘法器牺牲了运行速度来获得 更好的性能和功耗。因此,选择一款并行或串行乘法器实际上取决于它的应用性质。 主体 1.1.1二进制乘法定义 考虑两个无符号二进制数X 和Y ,X 为M 位宽,Y 为N 位宽,将它们用下列二进制数形 式表达 i 1 -M 0i i 2X X ∑== (1.1) j 1 -N 0j j 2Y Y ∑== (1.2) 其中i X 和j Y 为0或者1,那么X 和Y 的乘法运算定义如下 Z=X ×Y= k 1 -N M 0k k 2Z ∑+= =(i M i i X 210∑-=)(j 1-N 0j j 2Y ∑=)=∑∑=-=+???? ??1-M 0i 10j 2N j i j i Y X (1.3) 我们先来看一下手工是如何进行二进制乘法运算的。如图1-1所示,被乘数与乘数的第一个 位相乘(实际为“与”操作)产生积,并且根据乘数相应位的位置对部分积进行左移(例如, 被乘数与乘数的第0位相乘,则不移位;与第一位相乘,部分积左移1位,以此类推),最 终将所有的部分积相加得到乘法运算的结果。M 位被乘数与N 位乘数相乘得到的乘积是 M+N 位的。 1.1.2部分积生成

VHDL的乘法器设计——数字电路课程设计

数字电路课程设计 题目乘法器设计 班级实验二班 学号 姓名 时间第十三、十四周 地点科A-304 指导陈学英唐青

【摘要】:用FPGA设计完成基于半加器、全加器和保留进位思想设计的4BIT四级流水乘法器,用modelsim仿真其结果。 【目录】: 第一章、实验任务及原理 第二章、设计思路方法及方案 第三章、FPGA模块程序设计与仿真 第四章、结束语

【正文】 【第一章】:实验任务及原理 本实验只要求编写乘法器的硬件代码,并用Modelsim进行仿真测 试。设计乘法器,两个输入都是4BIT,对所有输入相乘都得到正 确结果,乘法器采用四级流水设计,以增加处理速度。用modelsim 仿真时,要求用时钟上升沿方式遍历所有输入,检查输出结果是否 正确。原理用到流水,进位保留思想。 【第二章】:设计思路及方案 算法结构(无符号) 由上图可见,乘法的运算最终是加法的运算,两个4BIT输入,输出为7BIT。模块一、半加器:单比特输入相加, 模块二、全加器:由两个半加器组成,有一个进位输入, 模块三、进位保留加法器:

最终程序结构图 流水设计的原理:在前向割集上加入四级流水 图一 图二 如上图所示方框代表触发器,五边形代表组合逻辑块,假设图一中逻辑块输入输出延时为Ta,图二将逻辑块切割成两块,延时分别为T1,T2,且Ta=T1+T2,

并在两逻辑块之间加触发器,两个逻辑块工作频率都可以达到clk频率,故工作速度增加一倍,虽然时延增加了,但资源优化了许多。 【第三章】:FPGA程序模块及仿真 半加器的程序模块: entity half_adder is port(a,b:in std_logic; s,cout:out std_logic); end half_adder; architecture Behavioral of half_adder is begin s<=a xor b; cout<=a and b; end Behavioral; 全加器的程序模块:调用半加器,采用顶层设计 entity full_adder is port(a,b,cin:in std_logic; s,cout:out std_logic); end full_adder; architecture Behavioral of full_adder is component half_adder port(a,b:in std_logic; cout,s:out std_logic); end component; signal h1s,h1cout,h2cout:std_logic; begin u1:half_adder port map(a,b,h1cout,h1s); u2:half_adder port map(cin,h1s,h2cout,s); cout<=h1cout or h2cout; end Behavioral; 乘法器的程序模块: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ----Uncomment the following library declaration if instantiating ----any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all;

4位二进制乘法器课设报告

课程设计4位二进制乘法器电路的设计 班级 学号 学生姓名 指导教师

课程设计任务书 课程名称数字逻辑课程设计 课程设计题目4位二进制乘法器电路的设计 课程设计的内容及要求: 一、设计说明 设计一个4位二进制乘法器,可以存贮其乘积。 电路原理框图如图1所示。乘法器可以利用加法器和寄存器实现。 图1 乘法器原理框图 寄存器B存放被乘数,寄存器Q存放乘数,两个乘积长度有可能是原来的2倍,故计算完成后将累加和寄存器A放乘积的高位,而Q放乘积的低位,P记录乘数的位数,每形成一个部分积P加1,当P=4时,乘法结束,两数之积放在AQ寄存器中。 二、技术指标 1.设计4位二进制乘法器。 2.其乘积可以存贮。 三、设计要求 1.在选择器件时,应考虑成本。 2.根据技术指标通过分析计算确定电路形式和元器件参数。

3.主要器件:(1)74LS74双D触发器;(2)74LS194双向移位的寄存器; (3)74LS283加法器;(4)74LS00、74LS04等门电路。 四、实验要求 1.根据技术指标制定实验方案;验证所设计的电路。 2.进行实验数据处理和分析。 五、推荐参考资料 1.谢自美. 电子线路设计·实验·测试. [M]武汉:华中理工大学出版社,2000年 2.阎石. 数字电子技术基础. [M]北京:高等教育出版社,2006年 3.付家才. 电子实验与实践. [M]北京:高等教育出版社,2004年 六、按照要求撰写课程设计报告 成绩评定表: 指导教师签字:

一、概述 4位二进制乘法器在实际中具有广泛应用。它是一些计算器的基本组 成部分,其原理适用于很多计算器和大型计算机,它涉及到时序逻辑电路如何 设计、分析和工作等方面。通过此电路更深刻的了解时序逻辑部件的工作原理,从而掌握如何根据需要设计满足要求的各种电路图,解决生活中的实际问题,将所学知识应用于实践中。 根据任务书规定,设计电路的技术指标:设计乘积可存贮的4位二进制乘法器;设计要求:根据成本选择器件,根据技术指标确定电路形式和元器件参数;实验要求:根据技术指标制定实验方案,并验证所设计的电路,对实验数据进行处理和分析。 二、方案论证 本实验要求设计一个乘积可存贮的4位二进制乘法器。 实验电路输入的被乘数取值范围为(0000)2~(1111)2,乘数的取值范围为(0000)2~(1111)2。通过计算可得,乘积的取值范围为(00000000)2~(11100001)2。通过初步的数值位数分析可知,储存被乘数需要1片4位二进制寄存器,储存乘数需要1片4位二进制寄存器,储存乘积需要2片4位二进制寄存器。 由图1中二进乘法竖式计算可以看出:二进制乘法可以转化为移位累加操作。对于4位二进制乘法,以8位乘积寄存器的高4位储存累加结果。运算时先将乘 图1 4位二进制乘法运算竖式分析

16×16位移位相加乘法器设计样本

本科学生毕业论文 6 月 13日 论文题目: 16×16位移位相加乘法器设计 学 院: 电子工程学院 年 级: 级 专 业: 集成电路设计与集成系统 姓 名: 于昊 学 号: 2141 指引教师: 曹贝

摘要 随着集成电路设计技术不断进步,乘法器芯片设计实现研究与应用越来越广泛,对乘法器进行ASIC芯片设计,具备设计实现过程简朴、所用到EDA工具完善并且成熟、硬件开销小、易于在VLSI电路或系统级芯片中集成。普通,数字电路设计流程对于芯片实现而言,需要RTL级HDL描述,并要对各层次设计进行功能仿真验证,在验证电路能按预期设计功能工作后,即可对RTL级HDL描述进行综合、优化,形成门级网表。整个设计流程可称为数字电路前端设计。本课题基于移位相加算法研究,设计16位移位相加乘法器,并在功能仿真通过后,将所设计Verilog RTL级代码进行综合,采用Synopsys公司Design Compiler EDA工具进行电路综合,获得16位移位相加乘法器门级网表与电路实现。 核心词 数字电路设计;移位相加乘法器;综合;

Abstract Abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract abstract.(英文摘要内容必要与中文摘要完全相应。英文摘要采用Times New Roman小四号字书写,毕业论文、毕业设计行与行之间、段落和层次标题以及各段落之间均为1.5倍行距。) Key words Key words;key words;key words(英文核心词内容必要与中文核心词完全相应。英文核心词采用Times New Roman小四号字书写,毕业论文、毕业设计行与行之间、段落和层次标题以及各段落之间均为1.5倍行距。核心词与核心词之间用“;”隔开)

乘法器设计

目录 引言 (1) 1 设计任务及设计要求 (1) 1.1设计任务 (1) 1.2设计要求 (2) 1.3编码器的真值表 (2) 2 设计总体思路 (2) 2.1系统框图 (2) 2.2各单元电路设计 (3) 2.2.1 输入模块 (3) 2.2.2 数字与符号分离模块 (3) 2.2.3 乘法运算模块 (3) 2.2.4 数字与符号组合模块 (4) 2.2.5 显示控制模块 (4) 2.2.6 输出数字与符号分离模块 (5) 2.2.7 进制转换模块 (5) 2.2.8 消零模块 (6) 2.2.9 seltime模块 (6) 2.2.10 led模块 (7) 2.2.11 灭点模块 (7) 2.3总电路图设计 (8) 3 设计调试与分析 (8) 3.1设计调试 (8) 3.1.1 管脚锁定 (8) 3.1.2 各模块仿真波形图 (9) 3.2设计结果分析 (13) 4 设计改进及总结 (14) 4.1设计改进 (14) 4.1.1 电路图: (14) 4.1.2 INPUT模块 (15) 4.1.3 SEGSEL模块 (16) 4.1.4 DELED模块 (18)

4.1.5 电路图 (19) 4.1.6 仿真波形图 (19) 4.1.7 实验箱调试 (20) 4.2设计总结 (20) 参考文献 (21) 附录:程序部分 (21) 1输入模块 (22) 2数字与符号分离模块 (22) 3乘法运算模块 (23) 4数字与符号组合模块 (24) 5显示控制模块 (24) 6输出数字与符号分离模块 (25) 7进制转换模块 (25) 8消零模块 (26) 9SELTIME模块 (27) 10LED模块 (29)

4位二进制乘法器

4位二进制乘法器的设计 一、概述 4位二进制乘法器在实际中的应用相当广泛,是一些计算器的基本组成部分,其原理适用于很多计算器和大型计算机,它涉及到时序逻辑电路如何设计、分析和工作等方面。通过此电路更深刻的了解时序逻辑部件的工作原理,从而掌握如何根据需要设计满足要求的各种电路图,解决生活中的实际问题,将所学知识应用于实践中。 根据任务书设计电路主要要求是:绘制出电路的原理图,并且诠释每部分的功能;根据设计的电路图分析所需要元器件种类和个数;根据技术指标制定实验方案,验证所设计的电路;进行实验数据处理和分析。 设计任务技术指标;输入数据:被乘数X(0000~1111);乘数Y(0000~1111);输入命令:启动信号S1,高有效。输出数据:乘积C(00000000~11100001);其乘积可以存贮。 二、方案说明 此方案采用74LS194双向移位寄存器,74LS283加法器和 74LS00、74LS04等门电路。乘法就是反复进行移位和加法,被乘数放入MD寄存器,乘数放入MQ 寄存器,A寄存器中放结果,乘数的位数放在C寄存器中。AC寄存器的初值为0。A寄存器的内容被右移时,最高位移入0,其最低位内容被移入MQ的最高位。C 寄存器右移时,其最高位移入1。若MQ寄存器的最低位(用M(0)来表示)为1时,将被乘数与A寄存器中的内容用全加器相加后,将结果放回A寄存器中保存。若M(0)的值为0,将0与A寄存器的内容相加,将其结果再存入A寄存器。接着,将A、MQ、C寄存器的内容右移1位。将此动作反复进行乘数位数那么多遍。此乘法电路通过同步电路操作,运算与时钟脉冲同步进行。 从以上方案中可知,方案设有信号发生电路,数据输入电路,移位寄存电路,加法电路和运算结束判断电路和启动电路。各部分功能明确且之间的联系容易理解,所以采用这种方案。 原理框图如图1所示。 1

4位乘法器的设计

数字电子技术课程设计报告题目: 4位乘法器的设计 学年 2009-2010 学期 2 专业***** 班级:*** 学号:****** 姓名:*** 指导教师: ***8 时间:2010年3 月1 日~2010 年3 月4 日浙江万里学院电子信息学院

目录 一、设计任务与要求 (3) 二、设计总体方案 (3) 三、各单元模块电路的设计实施方案 (5) 四、结果分析 (7) 五、体会和总结 (10) 附录一、电路设计总图 (10) 附录二、主要芯片引脚图 (10)

1、 设计任务与要求 试设计一4位二进制乘法器 输入信号:4位被乘数A (A 3 A 2 A 1 A 0),4位乘数B (B 3 B 2 B 1 B 0),启动信号START 。 输出信号:8位乘积P (P 7 P 6 P 5 P 4 P 3 P 2 P 1 P 0),结束信号END 。 当发出一个高电平的START 信号以后,乘法器开始乘法运算,运算完成以后发出高电平的END 信号。 2、设计总体方案 移向-加法器数混合乘法器实现框图如图所示,主体包括寄存序列、与逻辑 和加法器等三部分。 启动信号 寄存序列 与逻辑 加法器 积 被乘数 乘数 清零信号 通过实现框图看出其原理就是:被乘数与乘数进入寄存序列,然后通过与逻辑和加法器的运算后得到被乘数与乘数的乘积。其中启动信号用来启动乘法运算,而清零信号则为积存器和计数器的清零信号。可以确定乘法器的表达式为: B AII B AI B AII AI Y ?+??=?+?=222)2( 移向-加法器树混合乘法器算法方案框图设计出的移向-加法器树混合乘法器框。 MUL END P 844 A B START 1 0 1 1 1 1 0 1×1 0 1 10 0 0 0 1 0 1 11 0 1 1 1 1011001

乘法器课程设计

中文摘要 在科技巨轮的飞速旋转下,当今数字技术应用在生活中可以说是无处不在。信息技术型人才的需求与日俱增,为跟上时代数字发展的阔步迈进,保证为社会提供具有创新能力,能解决实际问题的高新型技术人才成为高等教育的首要任务之一。数字电子技术正是应和当今教育趋势的一门必修基础课。 中规模集成电路及其应用,本身就是一种促进时代进步的优秀的数字逻辑设计作品,使用时只需适当地进行连接,就能实现预定的逻辑功能。而且由于他们所具有的通用性、灵活性、及多功能性,使之除完成基本功能之外,还能以他们为基本器件组成各类逻辑部件和数字系统,有效地实现各种逻辑功能。 乘法器正是中规模集成电路应用中的典型代表,该设计根据乘法的运算原理为加法(即被乘数与乘数的拆项求积后的移位相加),通过键盘、优先编码器、移位寄存器、加法器、译码器和显示器等通过十进制数到二进制及BCD码的码实现数字电路的乘法可算及可视。该设计电路不单用于单纯的乘法运算,亦是构成其他大规模集成电路的基本组成部分,完成在系统里实行符合该电路模块工作特性的分支操作。 关键词电力系统,集成电路,加法器,分支操作,寄存器

目录 课程设计任务书..............................................................................................I 课程设计成绩评定表.....................................................................................II 中文摘要......................................................................................................III 1 设计任务描述.. (1) 1.1 设计题目 (1) 1.2 设计要求 (1) 1.2.1 设计目的 (1) 1.2.2 基本要求 (1) 1.2.3 发挥部分 (1) 2 设计思路 (2) 3 设计方框图 (3) 4 各部分电路设计及参数计算 (4) 4.1 键盘输入及寄存电路 (4) 4.1.1键盘输入及寄存电路设计 (4) 4.2乘法运算电路设计及其参数计算 (5) 4.2.1电路设计 (5) 4.2.2电路说明 (6) 4.2.3参数计算 (6) 4.3.1 电路设计 (7) 4.3.2电路说明 (7) 4.4显示电路设计 (8) 4.5夜间照明电路 (8) 5 工作过程分析 (9) 6 元器件清单 (11) 7主要元器件介绍 (12) 7.1 双向移位寄存器74LS194 (12) 7.1.1 74LS194的功能介绍 (12) 7.1.2 74LS194的功能表 (12) 7.2 超前进位全加器74HC283 (13) 7.2.1 74HC283的工作原理介绍 (13) 7.2.2 74HC283的功能表 (13) 7.3 编码器74148N (14) 7.3.1 74148N的工作原理 (14) 7.3.3 74148N的状态表 (15) 小结 (16) 致谢 (17) 参考文献 (18) 附录 (19) A1逻辑电路图 (19)

EDA4位乘法器的程序

实验四、4位乘法器的实现 一、实验前准备 本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为EP1K100QC208)。EDAPRO/240H实验仪主板的VCCINT跳线器右跳设定为3.3V;EDAPRO/240H实验仪主板的VCCIO跳线器组中“VCCIO3.3V”应短接,其余VCCIO均断开;独立扩展下载板“EP1K10_30_50_100QC208”的VCCINT跳线器组设定为 2.5V;独立扩展下载板“EP1K10_30_50_100QC208”的VCCIO跳线器组设定为3.3V。请参考前面第二章中关于“电源模块”的说明。 二、实验目的 1、掌握利用V erilog HDL语言实现乘法器的方法 2、掌握利用8位数码显示模块的设计 三、实验内容 1、用Verilog HDL语言按照移位循环相加方法实现4x4乘法器模块。 2、用Verilog HDL语言实现8位数码显示模块。 三、实验原理 乘法运算模块可采用移位相加原理实现,本实验采用乘法器模块和显示模块在顶层模块中例化的方法实现。 四、实验步骤 1、按照以下步骤完成每一个模块的设计:新建设计文件夹(不可用中文)-》新建设计文件-》输入设计项目(原理图/Verilog HDL文本代码)-》存盘(注意原理图/文本取名)-》将设计项目设置成Project-》选择目标器件-》启动编译-》(可选:建立仿真波形文件-》仿真测试和波形分析) 2、新建顶层原理图文件,调入第1步中设计好的各模块,以原理图方式实现顶层设计-》存盘(注意原理图/文本取名)-》将设计项目设置成Project-》选择目标器件-》启动编译-》建立仿真波形文件-》(可选:建立仿真波形文件-》仿真测试和波形分析)-》引脚锁定并编译-》编程下载/配置-》硬件测试 五、硬件测试说明 1、乘数与被乘数接8位数字开关A组。 2、结果显示接动态数码管。 六、硬件连线说明 如果独立扩展板芯片为EP1K30QC208 PIN分配 CLK 79 接GCLK1 Rst 71 接按键F12,需要连线到右下角F12的连线插孔 Display[6] 93 接数码管段位引线A Display[5] 92 接数码管段位引线B Display[4] 90 接数码管段位引线C Display[3] 89 接数码管段位引线D Display[2] 88 接数码管段位引线E Display[1] 87 接数码管段位引线F Display[0] 86 接数码管段位引线G

四位二进制乘法器课程设计报告

4位二进制乘法器课程设计报告 目录 1 设计任务 (2) 1.1 设计的目的 (2) 1.2 设计要求 (3) 2硬件描述语言——VHDL (3) 2.1 VHDL简介 (3)

3 设计规划过程 (5) 3.1四位二进制乘法器的组成原理 (6) 3.2乘法器的设计 (6) 4 心得体会 (9) 5 参考文献 (10) 1 设计任务 1.1 设计的目的 本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA技术,了解并掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,学习VHDL基本单元电路的综合设计应用。通过对四位二进制乘法器的设计,

巩固和综合运用所学课程,加深对数字电路和VHDL基本单元的理解,理论联系实际,提高设计能力,提高分析、解决计算机技术实际问题的独立工作能力。通过课程设计深入理解VHDL语言的精髓,达到课程设计的目标,乘法器的设计可以使对计算机怎样工作有了更深了解,其实当初想到设计这个课题。 1.2 设计要求 1)构造一个4位二进制乘法器; 2)受按键控制由4bit输入端口先后输入四位乘数和被乘数(乘数,被乘数均由HDB3码表示); 3)用两个七段数码管显示积,以十进制显示; 2硬件描述语言——VHDL 2.1 VHDL简介 VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为A I/IEEE的标准(IEEE STD 1076-1987)。1993年更进一步修订,变得更加完备,成为A I/IEEE的A I/IEEE STD 1076-1993标准。目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准。VHDL的英文全写是:VHSIC(Very High eed Integrated Circuit)Hardware Descriptiong Language.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。 VHDL主要用于描述数字系统的结构,行为,功能和接

4乘4位阵列乘法器设计

课程设计报告课程设计题目:4乘4位阵列乘法器设计学生姓名:杨博闻 学号 专业:计算机科学与技术 班级:1120701 指导教师:汪宇玲 2014年1月4日

一、设计目的 1.掌握乘法器的原理及其设计方法。 2 .熟练应用CPLD 设计及EDA 操作软件。 二、设计设备 1.TDN-CM+或TDN-CM++教学实验系统一套。 2 ·PC 微机一台。 3·ispDesignEXPERT 软件 模型机数据通路结构框图 三、设计原理 本实验用CPLD 来设计一个4 ×4 位乘法器,相对于画电路图输入,用ABEL 语言描述是比较方便的。其算式如下(其中括号中的数字表示在ABEL 源程序描述中的功能块调用编号): a3 a2 a1 a0 ×b3 b2 b1 b0 ---------------------------------------------------------------------------------------------------------- a3b0(10) a2b0(6) a1b0(3) a0b0(1) a3b1(13) a2b1(9) a1b1(5) a0b1(2) a3b2(15) a2b2(12) a1b2(8) a0b2(4) +a3b3(16) a2b3(14) a1b3(11) a0b3(7) ----------------------------------------------------------------------------------------------------------- p7 p6 p5 p4 p3 p2 p1 p0 四、设计步骤 1.安装EDA 软件 打开计算机电源,进入Windows 系统,安装上述ispDesignEXPERT 软件。 安装完成后,桌面和开始菜单中则建有ispDesignEXPERT 软件图标。 2.用ispDesignEXPERT 软件根据上述乘法的逻辑原理用ABEL 语言编写功 能描述程序。 其在1032 芯片中对应的管脚如图: 3.编辑、编译和下载 使用ispDesignEXPERT 软件编辑源程序并进行编译,然后打开实验系统电 源,将生成的JEDEC 文件下载到ispLSI1032 中去。 4 .连接实验电路

4位乘法器设计开题报告

中国海洋大学青岛学院 毕业设计 开题报告 题目 4位乘法器的设计 系(中心)信息工程系 年级 2008级 专业电子信息工程 姓名高吉 学号 200802305331 指导教师王学玲

一、选题依据 课题来源、选题依据和背景情况;课题研究目的、学术价值或实际应用价值 现代社会在飞速发展,科学技术的发展越来越快。4位二进制乘法器在十几种的应用相当广泛,是一些计算器的基本组成部分,其远离适用于很多计算器和大型计算机,他涉及到实训逻辑电路如何设计。分析和工作等方面。通过次电路更深刻的了解时许逻辑不见的工作原理,从而掌握如何根据需要设计满足要求的各种电路图,解决生活中的实际问题,将知识应用于实践中。 根据课题研究的目地是,绘制出电路的原理图,并且诠释每部分的功能;根据设计的电路图分析所需要的元器件种类和个数;根据技术指标指定实验反感,验证所设计的电路;进行实验数据处理和分析。 研究此课题,目地在于使我们了解4位乘法器在实际中的应用,了解它的具体工作原理以及它的基本电路图,使我们以后可以应用它解决一些实际问题。通过对4位乘法器的设计,让我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 二、文献综述 国内外研究现状、发展动态;查阅的主要文献 研究现状 乘法器由于它的应用十分广泛,是一些计算器的基本组成部分,被广泛应用于大型计算机中,所以各国科学家对其都进行了积极的研究,现在超级计算机的出现,使的最基本的乘法器又有了更大的发展。发展前景广阔。 查阅主要文献: 1.《VHDL应用与开发实践》著译者: 甘历出版者:科学出版社 2.《VHDL与数字电路设计》卢毅赖杰科学出版社 2001年4月 3.《VHDL编程与仿真》王毅平张振荣人民邮电出版社 2000年7月 4.《数字电路设计与Verllog HDL》张亮人民邮电出版社 2000年10月 5.《VHDL简明教程》王小军清华大学出版社

ASIC系统设计实验报告_八位乘法器

八位乘法器的设计 汪明 2080130204 信号与信息处理 乘法是算术运算中经常用到的一个运算单元,所以在算法实现中会经常用到乘法。由于乘法器具有一定的复杂性,考虑到面积等因素,很多传统的处理器中都不包含乘法器单元,乘法则是通过算法换算成加法和移位在处理器中进行实现,针对这些处理器编写程序的时候应尽量少的应用乘法运算。随着DSP 技术的逐步发展,目前大多数高性能的处理器中都包含了乘法器运算单元,但仍有很多小型的控制型处理器不包含这一单元,所以设计面积小、速度快、性能稳定的乘法器模块仍然很有意义。本实验的目的是选用一种设计方案设计一个八位乘法器,利用XINLINX ISE 软件进行VHDL 程序的编写,然后对程序进行仿真验证,并对所设计的乘法器进行评价。 1 原理分析与方案选择 乘法器的设计有多种方案,有模拟乘法器、数字乘法器两种类型,前者主要是利用模拟器件对模拟信号进行乘法的设计,复杂度较高,后者则是通过数字器件来实现数字信号的乘法。本实验利用FPGA 设计数字乘法器件,根据数字信号的乘法运算准则,又有串行和并行两种设计方法,串行设计时被乘数从低位到高位串行输入,乘法结果从低位到高位串行输出,其常用的结构(四位乘法器)如下图(1)所示;并行乘法器的输入/输出采用并行的方式,通常情况下计算性能比串行的好。 图1 四位串行乘法器结构 本文采用并行输入/输出方式来进行乘法器的设计。下面以4位二进制数的乘法为例,对二进制乘法运算的过程(图2示)进行说明。由图2可知,如果对中间部分一行一行的处理,则乘法部分由一个个的2输入与门与二输入全加器组成,将这些结构联合在一起组成如图3所示的结构。 ) 0()1()2()3()4()5()6()7(0313233302122232011121310010203001230123pro pro pro pro pro pro pro pro b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a a a a a b b b b ----------------------------------------+????+????+????????? 图2 四位二进制乘法过程

相关主题