kururu的VHDL学习笔记
最近开始做课程设计,VHDL设计一个中央空调的控制程序。所以开始学习VHDL,在这篇文章里面记录一些自己的笔记,期望对于同样的初学者有些借鉴意义~
编写VHDL所需的工具:
那自然很是quartus啦,不过除了编译和运行的软件以外,还向大家推荐一个文本编辑器sublime text 写起来很舒服的 不过需要安装VHDL插件
具体的安装方法可 google sublime text 插件,随后install里面搜索VDHL即可~
接下来是VHDL的简单写法~
首先VHDL所需包含的库
library ieee;--库声明,声明工程中用到的库,这里声明的是IEEE库
use ieee.std_logic_1164.all;
--包声明,声明工程中用到的包,这里声明的是IEEE的STD_LOGIC_1164包
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ps VHDL语言大小写不敏感
然后是元件的写法,一个元件由 entity 和 behavior两部分组成
entity中定义元件的输入输出端口,behavior则是定义元件的内在逻辑
比如以下这段示例代码
entity AND_ent is
port( x: in std_logic;
y: in std_logic;
F: out std_logic
);
end AND_ent;
architecture behav1 of AND_ent is
begin process(x, y)
begin
-- compare to truth table
if ((x='1') and (y='1')) then
F <= '1';
else
F <= '0';
end if;
end process; end behav1; architecture behav2 of AND_ent is
begin F <= x and y; end behav2;
很容易就可以看出 这是一个与门 参考http://esd.cs.ucr.edu/labs/tutorial/AND_gate.vhd
kururu的VHDL学习笔记的更多相关文章
- VHDL学习笔记——数字系统设计
数字系统是指有若干数字电路和逻辑不见构成的能够处理或传输数字信息的设备.数字系统可分为三部分:输入输出接口.数据处理器和控制器. [传统的系统硬件设计]方法是(1)采用自底向上的设计方法(2)采用通用 ...
- FPGA-VHDL课堂学习笔记*01
FPGA-VHDL课堂学习笔记 记录说明:本文档主要记录大学期间,老师FPGA授课课堂笔记. 代码语言:VHDL 编程软件:MAX+plus II FPGA硬件:FLE-843 03月05日 理论课 ...
- Testbench学习笔记
Testbench学习笔记(一) 书写testbench是数字电路设计中不可或缺的一项设计方法,主要是提供的是激励.尽管现在各种开发工具都通过绘制波形图的方法生成测试激励,测试书写的代码,但是其不可移 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
随机推荐
- 为什么1Byte=8bit
Byte是字节的意思,而字节在早期计算机内部是用标准ASCII码来表示的根据当时情况确定至多有128种需要表示的字符(当时是IBM的标准,现在普遍是255),也就是2的7次方用二进制的0和1来表示就需 ...
- vim 删除临时文件
今天在用Xshell连接到CentOS后 使用vim 编辑文档 因为中途有事 临时关闭 并没有保存 再一次打开时 vim 提示要恢复 , 但是每次打开文件后到要恢复,于是找到了以下办法 和vim工作 ...
- [LA] 2031 Dance Dance Revolution
Dance Dance Revolution Time limit: 3.000 seconds Mr. White, a fat man, now is crazy about a game nam ...
- BZOJ 1560 火星藏宝图(DP)
思路:发现如果从A能到B,B能到C,那么一定A能到C,且根据不等式:A^2+B^2<=(A+B)^2,而且权值没有负数,因此经过B比不经过B要优,因此,我们从左上到右下做,每一列,我们只记录之前 ...
- SqlServer计算周岁的函数
CREATE Function Dbo.GetAge ( @birthday datetime, @now datetime ) Returns int As Begin Declare @Age i ...
- Game of Life 解答
Question According to the Wikipedia's article: "The Game of Life, also known simply as Life, is ...
- 【HDU1166】敌兵布阵(树状数组或线段树)
是一道树状数组的裸题,也可以说是线段树的对于单点维护的裸题.多做这种题目可以提高自己对基础知识的理解程度,很经典. #include <iostream> #include <cst ...
- pyQt事件处理
Qt事件处理01 Qt处理事件的第二种方式:"重新实现QObject::event()函数",通过重新实现event()函数,可以在事件到达特定的事件处理器之前截获并处理他们.这种 ...
- Bin & Jing in wonderland(概率,组合数学)
Problem 2103 Bin & Jing in wonderland Accept: 201 Submit: 1048 Time Limit: 1000 mSec Memor ...
- mmc加工配套问题
题目如下,本题还有其它解.