基于MIPS32的SOC设计实践(上)(Verilog+Quartus Ⅱ+.ppt
《基于MIPS32的SOC设计实践(上)(Verilog+Quartus Ⅱ+.ppt》由会员分享,可在线阅读,更多相关《基于MIPS32的SOC设计实践(上)(Verilog+Quartus Ⅱ+.ppt(72页珍藏版)》请在麦多课文档分享上搜索。
1、2018/10/14 P.1,基于MIPS32的SOC设计实践(上) (Verilog+Quartus +Cyclone版)主讲 杨全胜东南大学计算机科学与工程学院,计算机系统综合课程设计(3),2018/10/14 P.2,主要内容,SoC设计概述 MiniSys 指令系统介绍 MiniSys 的设计 外围电路及控制系统设计 软件的设计,2018/10/14 P.3,第1章 SOC概述(1),什么是SOC(System-on-Chip) SoC(片上系统)中包含了微处理器/微控制器、存储器以及其他专用功能逻辑。 实现复杂系统功能的VLSI; 采用超深亚微米工艺技术; 使用一个以上嵌入式CPU
2、/数字信号处理器(DSP); 外部可以对芯片进行编程; 可利用第三方IP Core进行设计。,2018/10/14 P.4,SOC概述(2),SOC的三种形态 以微处理器为核心,外围集成各种存储器、控制电路、输入输出、A/D、D/A等功能于一个芯片上 以数字信号处理器(DSP)为核心,多个A/D、D/A,大容量存储器等集成 上述两种类型的混合,或者把系统算法和芯片结构有机地集成在一起,2018/10/14 P.5,SOC概述(3),设计中的关键技术 设计描述技术 Verilog HDL/VHDL/AHDL System C、C-VHDL混合描述 软硬件协同设计 电路的设计、综合、布局布线 软件
3、与硬件的划分、协同设计、协同仿真 嵌入式操作系统、嵌入式系统程序和应用程序的开发 IP集成复用技术及设计环境,2018/10/14 P.6,IP 核及在SOC中的地位(1),IP资源复用的理念 IP资源复用(IP Reuse)是指在集成电路设计过程中,通过继承、共享或购买所需的部分或全部知识产权内核(IP Core),进行设计、综合和验证,从而加速流片设计过程的设计方法 IP Core是一种商品,SOPC的技术核心:是可编程逻辑器件设计工程师价值体现的主要途径,2018/10/14 P.7,IP 核及在SOC中的地位(2),IP核的表现形式 HDL语言(VHDL 或 Verilog HDL)
4、原理图(可移植性差) 网表 符合某种EDA工具的特定格式 如:Xilinx的IP Capture和Core Generator等,2018/10/14 P.8,IP 核及在SOC中的地位(3),IP核的分类 微处理器IP核 8/16/32/64位,如MicroBlaze、Nois、8051 处理器外设IP Core SDRAM 控制器、LCD 控制器、总线控制器等 DSP算法IP Core FIR滤波器、DES加密、音视频编码和解码等 通信控制器IP Core MAC、Gbit收发器、CAM、协议转换等 其它类型IP Core,2018/10/14 P.9,IP 核及在SOC中的地位(4),I
5、P Core设计:编码风格 编码风格(Coding Style)是基于HDL的IP Core源码编写的指导性文档,关系到IP Core的可读性、易于集成性及其质量 编码风格一般包含几个方面的约定:文件头和版本说明、联机注释、命名规则、可综合编码(UCF)等 http:/www.opencores.org http:/www.IP,2018/10/14 P.10,第2章 MiniSys指令系统介绍,MiniSys寄存器组 MiniSys指令目录 MiniSys指令格式 部分MiniSys指令格式详解 注:MiniSys采用32位MIPS指令中最常用的31条指令,其寄存器组织,指令格式等均采用MI
6、PS指令系统相同的格式。,2018/10/14 P.11,MiniSys寄存器组,共有32个32位寄存器,2018/10/14 P.12,MiniSys指令目录,算术指令add, addu, addi, addiu, sub, subu 逻辑指令and, andi, or, ori, xor, xori, nor, sll, srl, sra, sllv, srlv, srav 数据传送指令lw, sw, lui 比较、条件转移指令beq, bne, slt, slti, sltu, sltiu 无条件转移指令j, jr, jal,2018/10/14 P.13,MiniSys指令格式(1),
7、(1)R-format,add $1, $2, $3 # $1=$2+$3,6-bit 5-bit 5-bit 5-bit 5-bit 6-bit,000000 00010 00011 00001 00000 100000,2018/10/14 P.14,MiniSys指令格式(2),(2)I-format,lw $1, 10($2) # $1=Memory$2 +10,6-bit 5-bit 5-bit 16-bit,100011 00010 00011 0000 0000 0000 1010,2018/10/14 P.15,MiniSys指令格式(3),(3)J-format,j 1000
8、0 # go to 10000,6-bit 26-bit,000010 00010 00011 0000 0000 0000 1010,2018/10/14 P.16,MiniSys指令格式详解,这里只介绍几个典型的指令格式,比较完整的指令格式请参看教材。,2018/10/14 P.17,MiniSys指令格式详解,2018/10/14 P.18,MiniSys指令格式详解,2018/10/14 P.19,MiniSys指令格式详解,2018/10/14 P.20,MiniSys指令格式详解,2018/10/14 P.21,MiniSys指令格式详解,2018/10/14 P.22,MiniS
9、ys指令格式详解,2018/10/14 P.23,MiniSys指令格式详解,100,100,100,100,2018/10/14 P.24,MiniSys指令格式详解,2018/10/14 P.25,MiniSys指令格式详解,2018/10/14 P.26,MiniSys指令格式详解,2018/10/14 P.27,第3章 MiniSys的设计,MiniSys CPU设计架构 MiniSys CPU中各个单元 指令执行的分析 设计流水线处理器的考虑 设计多核处理器的考虑,2018/10/14 P.28,MiniSys CPU设计架构(1),指令执行的步骤,ifetch,idecode,Co
10、ntrol,Execute,Write,Dmemory,Clock,程序ROM,读地址,指令 31-0,4,控制单元,op,寄存器,0,1,func,rs,rt,rd,readR1,readR2,writeR,writeD,Clock,readD1,readD2,Regdst,WE,Alusrc,符号扩展,immediate,0,1,A,B,Zero,Alu result,ALU,Address,Write Data,Mem data,数据RAM,1,0,WE,1 0,jal,Regwrite,MemtoReg,MemWrite,Sftmd/sftm/I_format,左移2位,nBranch
11、,Branch,0,1,0,1,jmp | jal,左移2位,address,PC+4,1,0,jrn,MIPS instruction format,op,I-format,J-format,R-format,rs,rt,rd,func,op,rs,rt,immediate,op,address,2018/10/14 P.30,MiniSys CPU中各单元(1),Fetch(取指单元) 定义指令ROM存储器 到程序ROM中取指令 对PC值进行4处理 完成各种跳转指令的PC修改功能 在有中断的情况下处理中断到来时的PC修改,immediate,rd,PC,Clock,程序ROM,读地址,指令
12、 31-0,4,控制单元,op,寄存器,0,1,func,rs,rt,readR1,readR2,writeR,writeD,Clock,readD1,readD2,Regdst,WE,Alusrc,符号扩展,0,1,A,B,Zero,Alu result,ALU,Address,Write Data,Mem data,数据RAM,1,0,WE,1 0,jal,Regwrite,Memtoreg,Memwrite,Aluctl/slt/sftmd/sftm/I_format,左移2位,nBranch,Branch,0,1,0,1,jmp | jal,左移2位,addresst,PC+4,1,0
13、,jrn,取指单元的设计,2018/10/14 P.32,指令ROM的初始化文件,prgmip32.mif文件(自行创建),DEPTH = 1024; - 10位地址线 2101024 WIDTH = 32; - 数据宽度32位 ADDRESS_RADIX = HEX; -地址采用16进制描述 DATA_RADIX = HEX; - 数据采用16进制描述 CONTENT BEGIN0 : 8c020000; -lw $2 0($0)1 : 8c030002; -lw $3 2($0)193FD : 00000000;3FE: 03400008; - jr $1A 中断0返回3FF: 03600
14、008; - jr $1B 中断1返回 END;,2018/10/14 P.33,指令ROM的例化,lpm_rom prgrom(.address(PC11:2),.inclock(clock),.q(Jpadr); / 实际上给出的地址是PC除4的结果,因为MIF文件按0、1、2、/ 3排列的defparam prgrom.lpm_width = 32; /数据(指令)宽度32位defparam prgrom.lpm_widthad = 10; /地址线宽度9位defparam prgrom.lpm_file = “prgmip32.mif“;defparam prgrom.lpm_outd
15、ata = “UNREGISTERED“;defparam prgrom.lpm_address_control = “REGISTERED“;,2018/10/14 P.34,MiniSys CPU中各单元(2),Decode(译码单元) 定义寄存器组 对寄存器组进行读写操作 根据指令译码结果,决定向其他部件(如运算器)送1路或两路数据,rd,PC,Clock,程序ROM,读地址,指令 31-0,4,控制单元,op,寄存器,0,1,func,rs,rt,readR1,readR2,writeR,writeD,Clock,readD1,readD2,Regdst,WE,Alusrc,符号扩展,
16、immediate,0,1,A,B,Zero,Alu result,ALU,Address,Write Data,Mem data,数据RAM,1,0,WE,1 0,jal,Regwrite,Memtoreg,Memwrite,Aluctl/slt/sftmd/sftm/I_format,左移2位,nBranch,Branch,0,1,0,1,jmp | jal,左移2位,addresst,PC+4,1,0,jrn,译码单元的设计,2018/10/14 P.36,MiniSys CPU中各单元(3),Control(控制单元) 根据指令中的指令码(op)和功能码(funct)的不同组合输出相应
17、的控制信号。,rd,PC,Clock,程序ROM,读地址,指令 31-0,4,控制单元,op,寄存器,0,1,func,rs,rt,readR1,readR2,writeR,writeD,Clock,readD1,readD2,Regdst,WE,Alusrc,符号扩展,immediate,0,1,A,B,Zero,Alu result,ALU,Address,Write Data,Mem data,数据RAM,1,0,WE,1 0,jal,Regwrite,Memtoreg,Memwrite,Aluctl/slt/sftmd/sftm/I_format,左移2位,nBranch,Branch
18、,0,1,0,1,jmp | jal,左移2位,addresst,PC+4,1,0,jrn,控制单元的设计,2018/10/14 P.38,MiniSys CPU中各单元(4),Exe(执行单元) 完成逻辑运算 完成算术运算 完成移位运算 完成比较转移的PC值计算 完成比较后赋值,rd,PC,Clock,程序ROM,读地址,指令 31-0,4,控制单元,op,寄存器,0,1,func,rs,rt,readR1,readR2,writeR,writeD,Clock,readD1,readD2,Regdst,WE,Alusrc,符号扩展,immediate,0,1,A,B,Zero,Alu res
19、ult,ALU,Address,Write Data,Mem data,数据RAM,1,0,WE,1 0,jal,Regwrite,Memtoreg,Memwrite,Aluctl/slt/sftmd/sftm/I_format,左移2位,nBranch,Branch,0,1,0,1,jmp | jal,左移2位,addresst,PC+4,1,0,jrn,执行单元的设计,2018/10/14 P.40,MiniSys CPU中各单元(5),Dmemory(存储单元) 定义数据存储单元RAM 实际完成对数据存储器的读写操作,rd,PC,Clock,程序ROM,读地址,指令 31-0,4,控制单
20、元,op,寄存器,0,1,func,rs,rt,readR1,readR2,writeR,writeD,Clock,readD1,readD2,Regdst,WE,Alusrc,符号扩展,immediate,0,1,A,B,Zero,Alu result,ALU,Address,Write Data,Mem data,数据RAM,1,0,WE,1 0,jal,Regwrite,Memtoreg,Memwrite,Aluctl/slt/sftmd/sftm/I_format,左移2位,nBranch,Branch,0,1,0,1,jmp | jal,左移2位,addresst,PC+4,1,0,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MIPS32 SOC 设计 实践 VERILOGQUARTUS PPT
