首页 > 其他 > 详细

我的 FPGA 学习历程(03)—— 使用 Quaruts 自带仿真工具

时间:2015-11-16 14:04:19      阅读:1288      评论:0      收藏:0      [点我收藏+]

       由于我没有 51 单片机的基础,学 FPGA 时对数字逻辑一无所知,基本还停留在初中时计算机一级B只知道与或非门的水平,果然这点基础让我一碰就栽了跟头。在安装 quartus 完软件之后,就只会烧几个光盘里提供的 sof 文件。

       那时每当试图写点简单的项目,哪怕是一个简单的多路选择器,由于对 verilog 语法的不熟悉,经常出现各种莫名其妙的错误,这让我当时非常气妥。

       在上一篇中详细的介绍了怎样创建原理图工程,这篇同样使用原理图工程新建一个多路选择器,目的是学习使用图形输入的仿真工具输入仿真激励。

       新建工程,并输入输入以下的原理图。技术分享

       编译项目,会多出一个警告: Critical Warning (169085): No exact pin location assignment(s) for 4 pins of 4 total pins

         意思是有四个引脚没有分配,这次我们只使用仿真,而不需要下载到板子上,因此没必要分配管脚。

       编译成功后新建一个仿真波形文件,

技术分享

双击主界面 Project Navigator  Files 标签下的 waveform.vwf 文件打开仿真波形文件编辑器,空的如下:技术分享

在仿真波形文件编辑器中添加仿真的引脚,点击 Edit –>  Insert –> Insert Node or Bus

点击 Node Finder...

技术分享

点击 List,图为仿真引脚的选择工具,这里我们需要添加所有的引脚。完成后点 OK。

技术分享

再点一次 OK

技术分享

完成引脚添加工作,接下来设定仿真时间,有于 该编辑器的一个格子是 10 ns,这里我们设为 100 ns。

技术分享

选择需要修改的时间段,修改为需要的高低电平,想下面这个样子就可以了(*^__^*)。

仿真波形编辑器中的箭头表示选择,可以框选需要修改的波形时间段,放大缩小按钮(左键放大、右键缩小)后面的按钮功能分别是,设为未知(X)、置为低电平、置为高电平、设为高阻,其他可以自己试一下。

技术分享

接下来点击 Simulation –> Run Function Simulator 进行逻辑仿真。仿真结果如下:

可以看到,当 s = 0 时, y = a;当 s = 1 时,y = b。

技术分享

       这样仿真就结束,而且验证了我们画的的多路选择器是正确的。O(∩_∩)O

         此外同样可以使用 verilog 语言描述一个多路选择器,代码如下,各位可以试试。

module mymux 

(

    input wire a,       //这里是逗号

    input wire b,

    input wire s,

    output reg y        //这里没有逗号

);                      //这里是分号

    always @ (*)        //敏感信号列表,初学者打星号就可以了

    begin

        if(s==1b0)   //两个等号表示判断是否相等

            y = a;

        else

            y = b;

    end

endmodule

我的 FPGA 学习历程(03)—— 使用 Quaruts 自带仿真工具

原文:http://www.cnblogs.com/sxyf/p/4968634.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!