Quartus II 的入门级使用

好久没有用VHDL写东西了,今天需要完成一个项目,重新复习一下

新建工程

  1. 新建工程

file-->New Project Wizard,

next, 选择存放的路径+名字(project+top-level 名字要相同),

next,File name名字同上,

next,选择响应的硬件,若只用于仿真不需要硬件的话,就默认

  1. 新建VHDL文件

文件名同工程名,编写代码,文件保存在工程中。

此次简单写了一个D触发器的代码,为了验证新安装的软件是有有问题。

-- D trigger achievement

library ieee;
use ieee.std_logic_1164.all;

ENTITY Dtrigger IS PORT(
    D, clk : IN STD_LOGIC;
         Q : OUT STD_LOGIC
    );
END ENTITY Dtrigger;

ARCHITECTURE one of Dtrigger is 
    SIGNAL sig_save : STD_LOGIC;
    BEGIN 
        PROCESS(clk)
            BEGIN 
                if clk'event and clk='1' then
                -- == rising_edge(clk) then
                    sig_save <= D;
                end if;
        END PROCESS;
    Q <= sig_save;
END ARCHITECTURE one;
  1. 编译

点击编译按钮,若成功,说明软件安装过程没有问题;失败的话,根据提示,一一寻找解决问题的办法。

  1. 新建波形文件

为了进一步看一下我们这个器件是否成功,需要查看输入输出波形是否正确。

a. 新建

file-->new-->Verfication/Debugging Files-->University Program VWF

b. 设置

Edit中选择End Time设置仿真终止时间,默认为1us,根据需要改,一般改大点

c. 在弹出界面中出现对应的这个波形文件

需要一些配置,我安装的Quartus默认使用的

  1. 点击clk, d,选择上面的波形,设置好波形;

在Simulation->Options-> 默认的为ModelSim,如果你的电脑没有安装ModelSim, 会无法使用。可以选Quartus II simulator

  1. 出现问题:ModelSim-Altera was not found. Please install ModelSim-Altera which is included with the Quartus II installer, or use the Quartus II Simulator instead by selecting "Simulation > Options > Quartus II Simulator"

  1. 选择Simulation > Options > Quartus II Simulator,点击运行

生成运行后的文件

  1. 结果文件,在时钟的上升沿变化信号。

  1. 查看硬件原理图

Tools下拉菜单里的Netlist Viewers–>RTL Viewer可以查看VHDL描述的硬件电路

出现的问题

Quartus II默认使用的是ModelSim-Altera,Simulation Waveform Editor默认为ModelSim。

ModelSim-Altera was not found. Please install ModelSim-Altera which is included with the Quartus II installer, or use the Quartus II Simulator instead by selecting "Simulation > Options > Quartus II Simulator"

解决这个问题:

a. 在Simulation Waveform Editor中设置Simulation->Options-> Quartus II simulator;use the Quartus II Simulator instead by selecting "Simulation > Options > Quartus II Simulator"

b.设置EDA Simulation Tool. 在Quartus中Assignments->Simulation->Tool name中选择ModelSim->Apply, 必须要点击Apply, 点击OK不会生效。 系统默认的为ModelSim-Altera。原因就在这里

复习语法

-- D trigger achievement

--库:数据的集合,内含各类包定义、实体、构造体等
library ieee; --VHDL的标准库的扩展
use ieee.std_logic_1164.all; --VHDL的标准库

-- 定义了一个实体, 格式
--Entity 实体名 IS
--     [类属参数说明]
--     [端口说明] --PORT(端口名1, 端口名N:方向:类型)
--End Entity
ENTITY Dtrigger IS PORT(
    D, clk : IN STD_LOGIC;
         Q : OUT STD_LOGIC
    );
END ENTITY Dtrigger;


-- 构造体格式
-- Arcthitecture 构造体名 of 实体名 is
--  [定义语句] 内部信号、常数、元件、数据类型、函数等定义
-- begin
--   [并行处理语句和block、 process、function、procedure]
-- end 构造体名


ARCHITECTURE one of Dtrigger is 
    SIGNAL sig_save : STD_LOGIC;
    BEGIN 
        PROCESS(clk)
            BEGIN 
                if clk'event and clk='1' then
                -- == rising_edge(clk) then
                    sig_save <= D;
                end if;
        END PROCESS;
    Q <= sig_save;
END ARCHITECTURE one;

Varible(变量),在程序中可以被赋值(:=),赋值后立即变化为新值;

Signal(信号)在程序中可以赋值(<=),但不立即更新,当进程挂起后,才开始更新。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一枚努力的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值