前言

本文介绍Quartus II的使用方法,通过VHDL硬件描述语言编程来实现简单的电路功能。


一、使用步骤

首先打开Quartus II 新建vhdl文件 

image.png

image.png



右侧就是代码编辑界面

image.png


 本例通过VHDL实现一个简单的非门案例,有利于新手快速入门

image.png


相关量解释

nottest:实体名称

x:输入端口

y:输出端口

bhv:结构体

实现代码如下:

library ieee ;

use ieee.std_logic_1164.all ;

 

entity nottest is

port (x : in std_logic;

  y : out std_logic);

end entity nottest;

 

architecture bhv of nottest is

begin 

y <= not x;

 

end architecture bhv;

ctrl+s保存文件(注意文件名要和实体名相同否则编译的时候会报错)


image.png

 接下来出现工程创建向导界面

image.png


配置工程路径、名称和top-level

image.png

 添加刚才保存的nottest.vhd文件

image.png


因为此案例没有指定特定的FPGA板子上对应的芯片,所以后面的两页都默认点击next

 

image.png

 image.png


 完成工程创建

image.png


点击下方图片的紫色图标进行编译

 image.png


编译成功

 

image.png

 二:创建Vector WaveForm File进行波形仿真


image.png

 此时还没有添加节点,在name下方空白区域右键进行插入节点


image.png

点击Node_Finder添加节点

 image.png


 image.png




最后点击OK完成节点添加

 image.png


此时波形文件出现了输入、输出节点

 image.png


对输入节点X提供时钟波形

 image.png


 image.png


 对Waveform1.vmf文件进行保存

image.png


点击下方箭头进行仿真

 image.png


此时y出现了波形但是和非门的效果相差甚远。这时因为本例只是一个简单的组合逻辑门电路不是时序逻辑电路,进入Assignments界面点击Setting下将Simulation mode从Timing改为Functional。(默认的仿真模式是Timing)

image.png


 image.png


 最后点击Processing中的Generate Functional Simulation Netlist生成仿真节点列表

 

image.png

 

image.png



重新点击仿真图标可以得到正常的波形


image.png

 


三:案例扩展

下面我还列举了二选一选择器和四选一选择器的代码,有需要的可以按照上述步骤进行工程创建和仿真练习

二选一选择器代码及仿真波形图:

entity select1of2 is 

port (a, b, s : in bit;

y : out bit);

end entity select1of2;

 

architecture bhv of select1of2 is 

begin

process(a,b,s)

begin

if(s='1') then y<=a; else y<=b;

end if;

end process;

end architecture bhv;

 

image.png


四选一选择器代码及仿真波形图:

library ieee;

use ieee.std_logic_1164.all;

 

entity select1of4 is

port(a, b, c, d, s0, s1 : in std_logic;

y  : out std_logic);

 

end entity select1of4;

 

architecture bhv of select1of4 is

signal s : std_logic_vector(1 downto 0);

begin

s <= s1 & s0;

 

process(s)  begin

case (s) is

when "00" => y <= a;

when "01" => y <= b;

when "10" => y <= c;

when "11" => y <= d;

when others => null;

end case;

end process;

end architecture bhv;


image.png

总结

以上就是本文要讲的全部内容,感谢你能观看到这。


————————————————

版权声明:本文为CSDN博主「门牙会稍息」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_56646002/article/details/126751668