数字逻辑VHDL

信号与变量

  • signal是全局的,在整个结构体中都有效,它的赋值是在进程结束, 也就是最后的赋值是有效的。
  • variable是局部的,它的赋值是立即生效的。
  • 一般变量是在进程的说明部分中定义的

PROCESS(a, b, c)
-- 在说明部分声明变量
VARIABLE vector: STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN -- a <= '0' HEN b = '0' ELSE '1'; 在进行中只能使用顺序类型的语句, WHEN-ELSE是并行的, 不能写在PROCESS中, 这里应该换成IF-ELSE语句
IF b = '0' THEN
a <= '0';
ELSE
a <= '1';
END PROCESS;
  • 一般信号定义在ARCHITECTURE和PROCESS之间, 在ENTITY的PORT中定义的也是信号, 可以直接在ARCHITECTURE中直接访问, 因为是全局的。

ARCHITECTURE JHArc OF JHEncoder IS
SIGNAL vector: STD_LOGIC_VECTOR(3 DOWNTO 2);
BEGIN
a <= '0' HEN b = '0' ELSE '1'; -- 并行语句
END JHArc;

进程

  • process之间是并行的,但是在内部是按照顺序执行的。

标准头

```vhdl
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
```
  • 定义ENTITY的注意点

    ENTITY comp IS
    PORT(
    A1: IN STD_LOGIC;
    B1: IN STD_LOGIC;
    A0: IN STD_LOGIC;
    B0: IN STD_LOGIC;
    altb: OUT STD_LOGIC;
    agtb: OUT STD_LOGIC;
    aeqb: OUT STD_LOGIC -- 没有分号!
    );
    END comp;

    并行语句和顺序语句

    • 并行语句

      • WHEN-ELSE
      • WITH-SELECT
    • 顺序语句(可以在PROCESS中使用)

      • IF-ELSE
      • IF-ELSIF
      • CASE-WHEN

VHDL的更多相关文章

  1. VHDL生成的ngc文件被verilog的工程调用的问题

    1. 问题的提出 工程a是一个soft core,用VHDL写的,综合的时候去掉了"Add I/O buffers" ,并将-iob(Pack I/O Registers into ...

  2. VHDL:信号、端口以及和Verilog的区别

    1.信号 信号是描述硬件系统的基本数据对象,它的性质类似于连接线.信号可以作为设计实 体中并行语句模块间的信息交流通道.      信号作为一种数值容器,不但可以容纳当前值,也可以保持历史值(这决定于 ...

  3. VHDL 学习

    近期在接触 VHDL,首先要本好书,个人觉得 1)<VHDL for engineer>  VHDL 大学实用教程 (这个名字翻译的无语...) 2)估计verilog的作者的 bhask ...

  4. 实验五 含有控制信号的计数器VHDL设计

    一.实验目的 学习计数器的设计.仿真和硬件测试,进一步熟悉VHDL设计技术. 二.实验仪器与器材 计算机1台,GW48-PK2S实验箱1台,QuartusⅡ6.0 1套. 三.实验 1. 基本命题 在 ...

  5. 实验四 时序逻辑电路的VHDL设计

    一.实验目的 熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序逻辑电路的设计.仿真和测试方法. 二.实验 1. 基本命题 用VHDL文本设计触发器,触发器的类型可任选一种.给出程序设计.仿真分 ...

  6. 实验三 组合逻辑电路的VHDL设计

    一.实验目的 熟悉QuartusⅡ的VHDL文本设计过程,学习简单组合逻辑电路的设计.仿真和测试方法. 二.实验内容 1. 基本命题 完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测 ...

  7. VHDL学习札记:library and Package

     参考:http://www.cnblogs.com/garylee/archive/2012/11/16/2773596.htmlhttp:// http://forums.xilinx.com ...

  8. 3. 戏说VHDL之入门游戏一:流水灯

    一.   流水灯 1.1流水灯原理 流水灯是每个学电子的入门“游戏” ,示意图如图1,其原理极其简单,但是可玩性却极强,可以就8个LED写出不同花样的程序.在1.2中我们列出两个不同思路的代码作为VH ...

  9. VHDL之Port map and open

    编SPI的master控制器,使用公司基本的元件,有些端口用不着,恰巧好二哥(不知年龄的数字组组长,本名Holger)来了,于是请教之,告曰open关键词.后来深感自己VHDL水平太水,下了一本电子书 ...

  10. VHDL MOD和REM(转)

    mod(取模)and rem(取余) VHDL has mod and rem. They return the same value if both arguments are positive. ...

随机推荐

  1. 百度云BDCloudVideoView播放器的初体验

    今天试用了一下百度云BDCloudVideoView,记录下遇到的坑. 前面一切还好,按照他的要求各种导入,然后开始码代码,起实就是抄例子.然后各种坑开始了 下面这个你看名称能知道它是个啥吗? mVi ...

  2. SQL/T-SQL实例参考-2

    对多关联查询,查询多中的记录,但是返回一的结果集 子查询语法 --一对多关联查询,查询多中的记录,但是返回一的结果集 SELECT C.* FROM ( SELECT A.BasicID FROM [ ...

  3. 六、Note开发工具Visual Studio Code下载安装以及Visual Studio Code的使用

    专业的人干专业的事,我们搞Node总不能真的使用文本编辑器傻乎乎的搞吧,文本编辑器来开发Node程序,效率太低,运行Node程序还需要在命令行单独敲命令.如果还需要调试程序,就更加麻烦了.所以我们需要 ...

  4. Xcode面板的使用

    1.调出打包输出管理界面Xcode->Window->Organizer

  5. 第五篇 Python内置函数

    内置函数 abs() delattr() hash() memoryview() set() all()    dict()  help() min() setattr() any()  dir()  ...

  6. 使用itchat监控微信消息,从此不再为撤回烦恼

    强大的Itchat itchat是一个开源的微信个人号接口,使用python封装接入微信网页版接口,通过调用itchat来登录微信网页版收发消息. 项目简介 - itchat 掌握itchat之后,只 ...

  7. luoguP3302 [SDOI2013]森林

    https://www.luogu.org/problemnew/show/P3302 看到查询第 k 小,而且是一颗树,可以联想到在树上的主席树,a 和 b 路径中第 k 小可以通过在 a, b, ...

  8. Flink应用场景

    本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...

  9. 2019.3.7考试T2 离线数论??

    $ \color{#0066ff}{ 题目描述 }$ 一天,olinr 在 luogu.org 刷题,一点提交,等了一分钟之后,又蛙又替. olinr 发动了他的绝招,说:"为啥啊???&q ...

  10. C#直接使用DllImport外部Dll的方法

    C#.Net调用基本格式:[DLLImport(“DLL文件路径”)]修饰符 extern 返回值类型 方法名称(参数列表) 如: [DllImport("kernel32.dll" ...