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

       新建工程,并绘制以下的原理图。

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

       编译项目,会多出一个警告: Critical Warning (169085): No exact pin location assignment(s) for 4 pins of 4 total pins,其大致意思是在目标器件上有四个引脚没有被分配,由于这次我们只用到仿真,不需要下载文件到板子上,因此没有必要去分配管脚。

       编译成功后新建一个 University Program VWF (仿真波形文件),

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

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

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

接下来在仿真波形文件编辑器中添加管脚,依次点击 Edit –>  Insert –> Insert Node or Bus,再点击下图中的 Node Finder...

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

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

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

再点一次 OK

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

完成引脚添加工作,接下来在 Edit --> Set End Time 中设定仿真时间,由于该编辑器的一个格子是 10 ns,这里我们设为 100 ns。

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

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

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

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

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

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

       仿真验证了我们的设计是正确的。O(∩_∩)O 同样还可以使用 verilog 语言描述一个多路选择器,verilog 代码如下,各位可以试试。

module mymux 
(
    input wire a,       //这里是逗号
    input wire b,
    input wire s,
    output reg y        //这里没有逗号
);                      //这里是分号

//**************************************************//
    always @ (*)        //敏感信号列表,初学者打星号就可以了
    begin
        if(s==1'b0)   //两个等号表示判断是否相等
            y = a;
        else
            y = b;
    end
//*************************************************//

endmodule

相关文章:

  • 2022-12-23
  • 2021-12-02
  • 2021-11-28
  • 2021-04-06
  • 2021-07-16
  • 2021-04-26
  • 2021-06-24
猜你喜欢
  • 2022-12-23
  • 2021-08-25
  • 2021-09-18
  • 2021-08-06
  • 2021-11-28
  • 2021-11-28
  • 2021-12-23
相关资源
相似解决方案