前言
本文介绍Quartus II的使用方法,通过VHDL硬件描述语言编程来实现简单的电路功能。
一、使用步骤
首先打开Quartus II 新建vhdl文件
右侧就是代码编辑界面

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

相关量解释
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保存文件(注意文件名要和实体名相同否则编译的时候会报错)

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

配置工程路径、名称和top-level
添加刚才保存的nottest.vhd文件

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

点击下方图片的紫色图标进行编译
编译成功
二:创建Vector WaveForm File进行波形仿真

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

点击Node_Finder添加节点


最后点击OK完成节点添加
此时波形文件出现了输入、输出节点
对输入节点X提供时钟波形

对Waveform1.vmf文件进行保存

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

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

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

三:案例扩展
下面我还列举了二选一选择器和四选一选择器的代码,有需要的可以按照上述步骤进行工程创建和仿真练习
二选一选择器代码及仿真波形图:
讯享网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;

四选一选择器代码及仿真波形图:
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;



添加刚才保存的nottest.vhd文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/53122.html