cpu五级流水线设计优化之低功耗

本文关注FPGA设计中的功率消耗问题,介绍了使用XPower工具进行功耗分析的方法,该工具能对FPGA和CPLD进行整体及局部功耗评估。通过分析VCD文件,可以提升功耗分析的效率和精确度,其中VCD文件的生成需要在Testbench中添加特定语句。
摘要由CSDN通过智能技术生成

在FPGA设计中,功率消耗是要考虑在内的一项重要内容。我们可以通过XPower来查看所消耗的功率。

功耗仿真器XPower是第一个用于可编程逻辑器件的功耗分析软件,可以分析FPGA和CPLD的整体以及特定网线的功耗。进行功耗分析时,XPower可以读入ModelSim生成的VCD文件,从而使功耗分析更快捷,准确。

至于生成VCD文件需在Testbench文件中加入适当语句,如下:


initial begin
  //design.VCD表示将要生成的VCD文件名
  $dumpfile("design.VCD");
 //testbeach表示测试名称
 $dumpvars(1,testbench.uut);
end

</pre><p></p><p>XPower功耗分析的基本方法是:计算每个设计单元的功耗,累加各个设计单元的功耗。</p><p></p><p>功耗包含两个因素:动态功耗和静态功耗。动态功耗是指对器件内的容性负载充放电所需的功耗,它很大程度上取决于频率,电压和负载。(动态功耗=电容*电压*电压*频率)。</p><p>静态功耗是指由器件中所有晶体管的泄露电流(源极到漏极以及栅极泄露,常常集中为静止电流)引起的功耗,以及任何其他恒定功率需求之和。泄漏电流很大程度取决于温度和晶体管的尺寸。</p><p></p><p>对于cpu流水线设计可看出有一些指令并未用到所有的流水线,</p><p>例如</p><p><img src="https://img-blog.csdn.net/20150210173816090?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTUhTTUlF/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p><p>所以在设计过程中可以减少某些指令的流水线进程,例如对于Arithmetic Instruction MEM流程并未使用,所以可以将WB提前一个阶级</p><p></p><pre name="code" class="plain">
`define NOP   5'b00000
`define HALT  5'b00001
`define LOAD  5'b00010
`define STORE 5'b00011
`define LDIH  5'b10000
`define ADD   5'b01000
`define ADDI  5'b01001
`define ADDC  5'b10001
`define SUB	  5'b01010
`define SUBI  5'b01011
`define SUBC  5'b10010
`define CMP   5'b01100
`define JUMP  5'b11000
`define JMPR  5'b11001
`define BZ    5'b11010
`define BNZ   5'b11011
`define BN    5'b11100
`define BNN   5'b11101
`define BC    5'b11110
`define BNC   5'b11111
`define AND   5'b01101
`define OR    5'b01110
`define XOR   5'b01111
`define SLL   5'b00100
`define SRL   5'b00110
`define SLA   5'b00101
`define SRA   5'b00111
`define gr0   3'b000
`define gr1   3'b001
`define gr2   3'b010
`define gr3   3'b011
`def
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
体系结构实验资料说明 1 实验材料-静态5级流水 MIPS CPU实现.docx 实验内容文档 2 体系结构实验课_V1.ppt 讲解PPT 3 报告模板.docx 报告封皮 4 Basys3实验指导手册-V1.0.pdf basys3 板卡资料 5 verilog示例代码rtl_code ppt讲解代码示例(流水线代码,单周期CPU代码) 6 pipelinecpu_prj_err 方案1题目建立的工程(工程示例,未调试通过。1,修改CPU设计代码 2,testbench验证 3.下载板卡验证) 6.2 pipelinecpu_code 方案1原始代码,未创建工程 7 minimipsb3 柴可版本的实验题目(方案2) 8 mips编译器 用于编译生成2进制文件 静态5级流水 MIPS CPU实现 1 实验目的 1. 掌握流水处理器设计原理。 2. 熟悉并运用verilog语言进行电路设计。 2 实验设备 1. 装有Xilinx Vivado的计算机一台。 2. Basys-3实验板一块。 3 实验任务 1) 设计一款静态5级流水简单MIPS CPU。 基于单周期MIPS处理器设计,修改完成5级流水的MIPS处理器,5级流水的时空图如图1所示。 2) 本次课程设计设计框图。 5个部件都是同时运转,但对每条指令而言,依然是依次工作的,如图2所示。 3) 流水线处理器设计要求 本次实验内容暂不考虑前递技术,主要实现阻塞控制。 MIPS架构有延迟槽设定,处理器设计要支持延迟槽技术。 MIPS 架构中分支和跳转指令参与计算的PC 值均为延迟槽指令对应的PC(即分支跳转指令的PC+4),在本课程设计中尤其需要注意这一点。比如一条指令“beq,r0,r0,#2”在不考虑延迟槽的多周期CPU 中,其跳转的目标地址为beq 指令后面的第2条。而在考虑延迟槽的流水CPU 中,其跳转的目标地址为beq 指令后面的第3 条(即延迟槽指令后面的第2 条)。在编写测试程序时就需要注意分支跳转指令的偏移量。 4)指令系统 4 设计步骤 1) 分析掌握单周期MIPS处理的设计框图和设计代码。 2) 对单周期处理器进行流水线改造。 3) 通过IP核形式增加指令存储器和数据存储器。 4) 完成SOC顶层设计 顶层接口信号描述 5) 编写测试程序和testbench进行仿真测试。 6)(进阶设计内容)增加数码管单元,下载板卡调试。 哈工大体系结构实验报告包含代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值