基于Verilog HDL 的专用处理器的设计与仿真

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Verilog HDL 的专用处理器的设计与仿真

葛文婧, 龚咏梅, 江立平

(安徽师范大学数学计算机科学学院,安徽芜湖,241000)

关键词:Verilog HDL;专用处理器;设计;仿真

摘要:随着对嵌入式系统研究的不断深入,专用处理器的针对性使其被广泛采用,这对嵌入式系统的运用和发展起

到了越来越大的推动作用。本文采用Verilog HDL 来仿真能完成特定功能的专用处理器。论文讨论了包括CPU的系统

结构设计、基本组成部件设计、指令系统设计和CPU的RTL级仿真在内的基于Verilog 状态机控制16位指令微处理器

的设计。论文还讨论了电路功能的仿真、综合以及实现过程,在Modelsim 的开发环境下对加法器的HDL程序进行仿真,

并且根据仿真波形来验证设计的正确性。

Design and Simulation of CPU based on Verilog HDL

Wenjing Ge, Yongmei Gong, Liping Jiang

(School of Mathematic Computer Science , Anhui Nornal University, Wuhu, Anhui, 241000, China)

Key words:Verilog HDL; CPU; Design; Simulation

Abstract:As t he embedded system’s research went into deeply nowdays, the dedicated-used processor was widely used for it’s pertinency ,which promoted the use and development of embedded system. The authors simulated and designed a dedicated-used processor based on the verilog HDL. The essay was composed of the design of sixteen bits micro dedicated-used processor based on verilog states control machine, which included the designs of the Central Processing Unit’s system structure, basic modules, instructions system ,and RTL level simulation of the dedicated-used processor . The simulation,synthesization,and realization of the circuit function were also included in this essay.The summator’s HDL program was simulated in the environment of Modelsim and checked the correctness of the function of Central Processing Unit by the wave forms in the Modelsim.

计算机的核心构件是处理器,处理器也是嵌入式系统中不可缺少的部分。根据处理的问题的不同,处理机可分为三类:通用处理器、单用途处理器和专用处理器。专用处理器有着广泛的用途,这是因为专用处理器具有针对性,针对应用作了优化,性能、功耗等方面有了显著提高。专用处理器的设计可以给设计者创新的空间,设计出创新性的作品。Verilog HDL是一门硬件描述语言,是用于硬件设计的有利工具。

1概述

1.1 研究背景

目前许多的电子产品都使用了CPLD(复杂可编程逻辑器件),这些逻辑器可以使用硬件描述语言设计。Verilog HDL语言具有:设计的行为特性、设计的数据流特性、设计的结构组成及包含响应监控和设计验证方面的时延和波形产生机制[1]。用Verilog HDL语言设计硬件也较为方便设计逻辑器件。1.2 功能的实现

(1)程序预先存储在程序存储器ROM中;

(2)控制器CTRL根据程序计数器PC的值从ROM取指令到指令寄存器IR中,并对IR中的指令进行译码,产生控制信号,将控制信号发送给其它器件;

(3)数据通路DP负责接收CTRL传送来的立即数、数据存储器RAM传送过来的操作数,存入寄存器组RF中的寄存器中;负责接收CTRL传送过来的运算指令,并组织算术逻辑单元ALU进行运算;负责将CTRL传送过来的立即数、寄存器中的操作数存入RAM中;

(4)RAM可根据DP传送过来的地址和读写控制信号,进行数据读写。

2系统构成及功能模块的划分

2.1 专用处理器的组成结构

专用处理器的结构框图如图1,专用处理器主要有控制器和数据路径两大部分构成,另外,为了配合专用处理器完成系统任务,还需要有程序存储

器和数据存储器,前者用于存放程序指令的机器代码,后者用于存放计算结果。完整的模块划分如表1所示。

图1 专用处理器的结构框图

Fig.1 The structure of the dedicated-used processor 2.2 系统的设计方法

系统采用自顶向下的设计方法进行设计,顶层设计由专用处理器和存储器通过双向总线相连而构成,其中程序存储器与专用存储器的控制器通过总线进行交互信息,数据路径通过总线和数据存储器进行信息交互。

表1 模块列表

Table 1 List of modules

模块

编号

模块名称模块文件名模块功能

1 dp dp.v 数据路径,在控制器的控制下对数据进行相应的运算处理

2 alu alu.v 数据逻辑单元,完成算术运算或逻辑运算

3 register register.v 寄存器,暂存立即数和中间结果

4 rf rf.v 通用寄存器文件,存放指令所处理的立即数,并且可对寄存器文件中的任一寄存器进行读/写

5 mux21 mux21.v 二选一多路选择器,选择立即数或者寄存器数据

6 rom rom 程序存储器,存储程序代码

7 ctr ctr.v 控制器,提供控制信号

8 ram ram.v 数据存储器,实现数据的读写

9 div2f div2f.v 分频器,除法时钟控制

10 cpu cpu.v 顶层系统cpu,将各个模

注:具体代码实现参见附录1。

2.3 指令系统

该专用处理器支持如下指令:

(1)数据传送指令

①将8位立即数传送给寄存器

mov rn,#imm;rn<-imm

②将8位寄存器数传送给寄存器

mov rn,rm;rn<-rm

③将8位存储器数传送给寄存器

mov rn,[addr];rn<-[addr]

④将8位寄存器数传送给数据存储器

mov [addr],rn;[addr]<-rn

(2)算术运算指令(不考虑溢出)

①8位整数加

add rn,rm;rn<-rn+rm

②8位整数减

sub rn,rm;rn<-rn-rm

③8位整数乘

mul rn,rm;rn<-rn*rm

④8位整数除

div rn,rm;rn<-rn/rm

(3)控制指令

①无条件跳转指令

jmp relative;PC<-relative

②有条件跳转指令

jz rn,relative;PC<-relative(仅当rn=0时)

(4)停机指令

halt

指令系统设计如表2所示,寄存器编号如表3

所示。

表2 指令系统设计

Table 2 The design of instruction system

指令操作码(4)寄存器(4)操作数(8)

mov rn,#imm 0000 rn imm

mov rn,rm 0001 rn imm

mov rn,[addr] 0010 rn addr

mov [addr],rn 0011 rn addr

addrn,rm 0100 rn rm

sub rn,rm 0101 rn rm

mov rn,#imm 0110 rn rm

div rn,rm 0111 rn rm

jmp relative 1000 relative

Jz rn,relative 1001 rn relative

halt 1111

表3 寄存器编号

Table 3 Register number

相关文档
最新文档