创建or1200最小SOPC,并进行仿真

以下内容摘自《步步惊芯——软核处理器内部设计分析》一书


      在上一篇博文中使用GNU工具链可以得到可执行文件,然后在模拟器中运行这个可执行文件,并记录指令执行的信息到文件中,通过分析这个文件可以判断程序是否是按照预期那样执行。但这只是一个软件的模拟过程,用于前期的验证,对于剖析OR1200内部结构的作用并不大。为了剖析OR1200内部结构,我们还需要借助硬件仿真工具ModelSim,本节设计了一个OR1200可以运行的最小系统,并通过ModelSim仿真,观察OR1200内部执行细节。


1、最小系统的创建

      本节设计的最小系统只使用了OR1200的CPU、QMEM两个模块,没有使用MMU、Cache以及总线单元等其它模块,程序和数据都存储在QMEM中,CPU复位后从QMEM中读取指令,这样一个简单纯粹的系统使我们将注意力集中在CPU上,不用考虑其它模块的影响。最小系统的结构如图2.18所示。



图2.18 OR1200可以运行的最小系统结构


      在第1章中已经介绍了下载地址,使用SVN从http://opencores.org/ocsvn/openrisc/openrisc这个地址CheckOut最新的代码。本书将以OR1200的rel3这个版本为例进行分析,所以进入/branches/or1200_rel3/rtl/verilog目录,可以找到所有的verilog设计文件。


1、新建工程mim_or1200

      打开ModelSim,本书使用的是Windows环境下ASE(Altera Starter Edition)6.6d版。选择“File->New->Project”,出现如图2.19所示对话框。



图2.19 ModelSim新建Project


      给新的工程起名为mim_or1200,选择存储路径,注意不要包含中文,将Default Library Name也改为min_or1200,点击OK,出现如图2.20所示界面。



图2.20 ModelSim新建或添加已有文件对话框


      选择“Add Existing File”表示添加已存在的文件,在出现的对话框中点击“Browse”按钮将/branches/or1200_rel3/rtl/verilog目录下的所有文件都选中添加,同时选择下面的“Copy to project directory”,点击OK,这样OR1200所有的verilog文件都添加到工程min_or1200中了。



图2.21 ModelSim中为min_or1200工程添加文件对话框


2、新建测试平台(Test Bench)

      新建一个Verilog文件添加到工程中,文件名为or1200_tb.v,这是一个简单的测试平台(Test Bench)文件,内容如下:


`timescale 1ns/100ps

module or1200_tb();

       reg     CLOCK_50;
       reg     rst;
       
       initial begin
               CLOCK_50 = 1'b0;                           //时钟20ns一个周期,所以时钟频率是50MHz
               forever #10 CLOCK_50 = ~CLOCK_50;
       end
       
       initial begin
               rst = 1'b1;                                //复位信号
               #200 rst= 1'b0;                            //在200ns处复位结束
               #1000 $stop;                               //仿真过程持续1000ns
       end
       
       or1200_top     or1200_top_inst              //因为是最小系统,所以除了时钟、复位信号外,其余全都为0
       (
          .clk_i(CLOCK_50),
          .rst_i(rst),
          .pic_ints_i(20'b0),
          .clmod
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值