您的位置 首页 开关

零根底学FPGA(十五)Testbenth 很重要,前仿真全过程笔记(上篇)

上一篇文章我介绍了一下一片简易CPU的设计,今天的课程我讲仿真,也即前仿真。这次课程,小墨同学将和大家从建立工程开始,一步步梳理testbench的书写过程,帮助大家对仿真有一个深刻的概念。以后在

  上一篇文章我介绍了一下一片简易CPU的规划,今日的课程我讲仿真,也即前仿真。这次课程,小墨同学将和咱们从树立工程开端,一步步整理testbench的书写进程,协助咱们对仿真有一个深入的概念。今后在做项目时,不要动不动就把程序下到板子里调试,看问题不对再去改程序,再下到板子里调试,如此往复,会糟蹋很多的时刻,简略的项目还好,可是到了大型项目的话,是不行能有这么多时刻让咱们这样调的。因而,小墨同学在这儿说,testbench很重要,做好了仿真,能够为咱们节省很多的开发时刻。

  下面咱们开端吧~

  一、什么是testbench?

  从字面意思上来了解,testbench便是一个测验渠道,咱们之前现已规划好了咱们需求的cpu模块,咱们怎样知道咱们规划的关于不对呢?咱们能够给其施加一个测验鼓励,例如,给他送时钟和复位信号,因为时钟和复位信号是咱们自界说的,因而咱们能够发生恣意频率的时钟信号和在恣意时刻给体系复位。

  当然咱们还能够调查咱们cpu的输出,将咱们想要调查的输出信号引出来乃至是反应到cpu内部,都能够,testbench没有像RTL代码规划那样谨慎,咱们能够在契合语法规矩的前提下,随意编写咱们的测验文件,有些在RTL代码中不行归纳的句子,咱们能够在testbench中完结。

  

360桌面截图20141122115631.jpg

 

  二、testbench的结构

  小墨同学以为testbench的结构能够分为这几个方面:

  1.要先对接口进行例化,即模块之间的链接联系

  2.对咱们的规划增加鼓励

  3.调查规划输出是否契合要求

  三、测验模块规划

  要测验咱们的cpu需求ROM和RAM模块,这就需求咱们先做好这两个模块

  

360桌面截图20141122121423.jpg

 

  这儿界说了一个 1024 x 8 的RAM

  

360桌面截图20141122122057.jpg

 

  再界说一个8192 x 8 的ROM

  ROM和RAM都还没有装入数据,等会咱们会调用函数给他们装数据

  接下来是地址译码器,来操控ROM和RAM的翻开与封闭

  

360桌面截图20141122122622.jpg

 

  各模块树立好之后咱们就开端仿真了

  四、仿真

  这次教育咱们用的是modelsim SE 10.0 版别进行教育,以下是小墨同学习气的仿真进程,因个人习气不同,各位朋友能够依照你们 的方法来做

  我习气直接先在quartus II中建一个.v文件将其保存在本来的工程文件目录中,并命名为cpu_top.v,直接在这儿写测验代码

  

360桌面截图20141126133646.jpg

 

  下面咱们能够跟着小墨的进程一同做,来完结cpu 的仿真进程了

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/116864.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部