VHDL
数字逻辑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的更多相关文章
- VHDL生成的ngc文件被verilog的工程调用的问题
1. 问题的提出 工程a是一个soft core,用VHDL写的,综合的时候去掉了"Add I/O buffers" ,并将-iob(Pack I/O Registers into ...
- VHDL:信号、端口以及和Verilog的区别
1.信号 信号是描述硬件系统的基本数据对象,它的性质类似于连接线.信号可以作为设计实 体中并行语句模块间的信息交流通道. 信号作为一种数值容器,不但可以容纳当前值,也可以保持历史值(这决定于 ...
- VHDL 学习
近期在接触 VHDL,首先要本好书,个人觉得 1)<VHDL for engineer> VHDL 大学实用教程 (这个名字翻译的无语...) 2)估计verilog的作者的 bhask ...
- 实验五 含有控制信号的计数器VHDL设计
一.实验目的 学习计数器的设计.仿真和硬件测试,进一步熟悉VHDL设计技术. 二.实验仪器与器材 计算机1台,GW48-PK2S实验箱1台,QuartusⅡ6.0 1套. 三.实验 1. 基本命题 在 ...
- 实验四 时序逻辑电路的VHDL设计
一.实验目的 熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序逻辑电路的设计.仿真和测试方法. 二.实验 1. 基本命题 用VHDL文本设计触发器,触发器的类型可任选一种.给出程序设计.仿真分 ...
- 实验三 组合逻辑电路的VHDL设计
一.实验目的 熟悉QuartusⅡ的VHDL文本设计过程,学习简单组合逻辑电路的设计.仿真和测试方法. 二.实验内容 1. 基本命题 完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测 ...
- VHDL学习札记:library and Package
参考:http://www.cnblogs.com/garylee/archive/2012/11/16/2773596.htmlhttp:// http://forums.xilinx.com ...
- 3. 戏说VHDL之入门游戏一:流水灯
一. 流水灯 1.1流水灯原理 流水灯是每个学电子的入门“游戏” ,示意图如图1,其原理极其简单,但是可玩性却极强,可以就8个LED写出不同花样的程序.在1.2中我们列出两个不同思路的代码作为VH ...
- VHDL之Port map and open
编SPI的master控制器,使用公司基本的元件,有些端口用不着,恰巧好二哥(不知年龄的数字组组长,本名Holger)来了,于是请教之,告曰open关键词.后来深感自己VHDL水平太水,下了一本电子书 ...
- VHDL MOD和REM(转)
mod(取模)and rem(取余) VHDL has mod and rem. They return the same value if both arguments are positive. ...
随机推荐
- 分享我访问google的方法
对于程序员来说,有很多技术问题还是通过互联网搜索来解决的.所以百度.google对于我们是多少的重要.但是GOOGLE现在无法访问了.怎么办呢.以下是我访问google的方法. 首先自己制作了一个简单 ...
- Promise超时重新请求
export default function (promiseProducer, params, interval, attemptTimes) { interval = typeof interv ...
- java 笔记整理
在19寒假对java基础进行自学,总结的笔记整理出来 ==================================================== 排序查找 冒泡排序法1.一共会比较数组元 ...
- 题解 CF500D 【New Year Santa Network】
题目链接 这道题首先是要看看该如何化简,先把三元组化成二元组. 之后统计经过某条边的 次数$*$权值 的和. 最后除以总基数 $tot$ 其中,每条边被计算的次数为 子树的点数$*$非子树的点数 ( ...
- memcache 未授权访问漏洞
memcache是一套常用的key-value缓存系统,由于它本身没有权限控制模块,所以开放在外网的memcache服务很容易被攻击者扫描发现,通过命令交互可直接读取memcache中的敏感信息. 修 ...
- 使用webpack开发ES6程序的正确姿势
1.cnpm install babel-loader babel-core babel-preset-es2015 -D 2.cnpm install babel-plugin-transform- ...
- Opencv博文收藏列表
opencv识别二维码:https://blog.csdn.net/jia20003/article/details/77348170 opencv视频:http://www.opencv.org.c ...
- Jquery 常用方法 及属性
Jquery 常用方法 及属性 jQuery 事件 鼠标事件 键盘事件 表单事件 文档/窗口事件 click keypress submit load dblclick keydown chang ...
- su切换用户报错cannot set user id: Resource temporarily unavailable
su: cannot set user id: 资源暂时不可用 登录root su - tomcat 报错: cannot set user id: Resource temporarily un ...
- php:// 访问各个输入/输出流
相关 php.ini 配置 allow_url_fopen :on 默认开启 该选项为on便是激活了 URL 形式的 fopen 封装协议使得可以访问 URL 对象文件等. allow_url_inc ...