VHDL程序结构:

  1. 条件语句
    if_then_else_end if
  2. 数据类型
    BIT类型(取逻辑位’1’或’0’)、整数类型INTEGER、布尔类型BOOLEAN(取TRUE或FALSE)、标准逻辑类型STD_LOGIC等
  3. 进程语句与顺序语句
    process(敏感信号表)_endprocess
    VHDL中所有的顺序语句都必须放在进程语句中
  4. 端口语句
    port(端口模式;端口数据类型);
  5. 端口模式
    in:输入端口
    out:输出端口
    inout:双向端口
    buffer:缓冲端口
  6. 关键字
    (不区分大小写)entity、architecture、end、if、else、in、out等;
  7. 标识符
    (不区分大小写)自定义实体名、结构体名、端口名、信号名等;
  • std_logic 数据类型九种含义
取值 含义
‘U’ 未初始化
‘X’ 强未知
‘0’ 强逻辑0
‘1’ 强逻辑1
‘Z’ 高阻态
‘W’ 弱未知
‘L’ 弱逻辑0
‘H’ 弱逻辑1
‘-’ 忽略

半加器

library ieee;--标注库STD、工作库WORK默认是打开的
use ieee.std_logic_1164.all;--定义了std_logic数据类型entity h_adder isport(A:in std_logic;B:in std_logic;SO:out std_logic;CO:out std_logic);
end entity h_adder;
architecture fh1 of h_adder isbeginSO <= A xor B;CO <= A and B;
end architecture fh1;


多路选择器/case语句

library ieee;
use ieee.std_logic_1164.all;entity MAX41A isport(a,b,c,d,s0,s1:in std_logic; y:out std_logic);
end entity MAX41A;architecture BHV of MAX41A is
signal s: std_logic_vector(1 downto 0);
begins <= s1 & s0;process(s) begin --放s0,s1或直接放scase (s) iswhen "00" => y<=a;when "01" => y<=b;when "10" => y<=c;when "11" => y<=d;when others => null;end case;end process;
end BHV;

分频器

library ieee; ---表示打开IEEE库,因为IEEE库不属于VHDL的标准库,所以使用库的内容要先声明
use ieee.std_logic_1164.all;--定义std_logic/std_logic_vector
use ieee.std_logic_arith.all;-- 定义有无符号类型与对应运算
use ieee.std_logic_unsigned.all;-- 定义std_logic std_logic_vectorentity fenpingqi is  -- entity只是定义所需的全部输入/输出信号generic(sys_clk_fre_value:INTEGER:=50000000;--系统时钟50MHzdiv_clk_fre_value:INTEGER:=12500000--4分频);port(i_sys_clk:in STD_LOGIC;--系统时钟i_sys_rst:in STD_LOGIC;--系统复位o_div_clk:out STD_LOGIC--系统输出);
end entity fenpingqi;architecture behavior of fenpingqi issignal r_div_count:STD_logic_vector(31 downto 0);--32位的向量 2^32Hz > 50MHz(输入频率)signal r_div_clk:STD_LOGIC;beginprocess(i_sys_clk,i_sys_rst)beginif(i_sys_rst='1')then--复位信号为高电平r_div_count<=x"00000000";--分频计数置全0r_div_clk<='0';--分频结果置0elsif(i_sys_clk'event AND i_sys_clk='1')thenif(r_div_count=sys_clk_fre_value/div_clk_fre_value/2-1)thenr_div_count<=x"00000000";r_div_clk<=NOT r_div_clk;elser_div_count <= r_div_count+1;--分频计数+1end if;end if;end process;o_div_clk<=r_div_clk;--输出
end architecture behavior;


Simulator:Quartus II Simulator.

VHDL学习笔记——半加器 多路选择器 分频器相关推荐

  1. CSS学习笔记|MDN-CSS选择器

    记录在MDN学习CSS中的一些个人笔记. 选择器种类 通配选择器 或叫全局选择器.选中所有元素. * {} 标签.类.ID选择器 标签选择器.选择所有的 h1 元素 h1 { } 类选择器.选择类名有 ...

  2. 菜鸟学习笔记3——jQuery 选择器

    jQuery 元素选择器 jQuery 使用 CSS 选择器来选取 HTML 元素. $("p") 选取 <p> 元素. $("p.intro") ...

  3. CSS学习笔记3:选择器及优先级

    CSS选择器的类型: 标签选择器 类选择器 ID选择器 全局选择器 群组选择器 后代选择器 1.标签选择器: 以HTML的标签作为选择器,凡是选择了一个标签,那么所有这个标签的内容都是用了css样式 ...

  4. Mr.J-- jQuery学习笔记(四)--内容选择器

    内容选择器 我们在使用Vscode或者WebStrom的时候,会使用 .setClass 来设置元素的class,使用 #setId 设置元素的id,这其实就是简单的基本选择器 所谓的内容选择器指的是 ...

  5. 前端学习笔记:CSS3选择器的继承、优先级和重要性

    一.样式的继承 1.什么叫"继承"? 继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代. 比如下面代码:如某种颜色应用于p标签,这个颜色设置不仅应用p ...

  6. VHDL学习笔记——顶层程序编写

    将大工程拆解为若干子程序: 编写子程序,分别仿真验证: 将子程序代码合并:①人为合并,将四个程序代码杂糅,创建新工程:②编写顶层代码,在顶层代码中调用子程序,归一使用. 顶层程序 library ie ...

  7. 前端小白的css学习笔记——简介、选择器、字体属性和文本属性(最后有思维导图哦)

    简介   css是层叠样式表的(Casading Style Sheets)的简称.有时会成为css样式表或级联样式表.用来美化HTML,让网页更漂亮,布局更简单.使结构(HTML)和样式(css)相 ...

  8. Scrapy学习笔记(5)--Selectors 选择器

    Selectors选择器 基本介绍 当你在爬取网页的时候,最常见的任务就是从HTML源代码中提取数据. 有几个库可以实现这个功能: BeautifulSoup BeautifulSoup 在Pytho ...

  9. VHDL学习笔记-(1)Generic类属

    首先推荐一篇文章: 链接:VHDL基本点[精解] - 刑事组之虎9527 - 博客园 (cnblogs.com) 类属: 1.常以一种说明的形式放在实体或块结构提前 2.提供了一种静态通道 3.与常数 ...

  10. VHDL——4选1多路选择器

    1.条件信号赋值语句 library ieee; use ieee.std_logic_1164.all;entity mux4 isport(i0,i1,i2,i3,a,b : in std_log ...

最新文章

  1. libACE-6.3.3.so: cannot open shared object file: No such file or directory
  2. 详解MYSQL数据库密码的加密方式及破解方法
  3. 对分贝(dB)概念的理解
  4. linux c 编译器处理警告、错误 #pragma GCC diagnostic ignored -Wunused
  5. CentOS 安装MySQL(rpm)提示错误Header V3 DSA/SHA1 Signature
  6. CoreAnimation-CAKeyframeAnimation
  7. PL/SQL Developer图形化窗口创建数据库(表空间和用户)以及相关查询sql
  8. 掌握好数据分析,99%的企业都不会拒绝你
  9. 使用 ngrok(小米球)实现内网穿透映像到外网访问项目
  10. cad批量打印快捷键_批量打印CAD图(无删减版)
  11. 无法启动计算机上的服务msdtc,MSDTC服务无法启动解决方法
  12. nginx配置lua脚本
  13. 转载:Gabor 特征总结
  14. python培训文档_python怎么读取文档
  15. 谈小学计算机教学,浅谈小学计算机教学方法
  16. 计算机网络实验IP数据报分片,实验报告三IP数据分片.doc
  17. java基础实战项目一:实现家庭记账本的简易记账功能
  18. 高通平台开发系列讲解(AI篇)SNPE工作流程介绍
  19. 服务器维护实用工具(Unicode)版本,修复SQL Server 2000数据库之实战经验
  20. 迄今最全的国内引进的凯迪克获奖绘本书单172本(1938年-2016年)

热门文章

  1. Cocos2d-lua中lua代码加密成luac
  2. 夏普红外测距模块使用笔记
  3. uni-app(vue小程序)学习笔记
  4. EM算法系列--原理
  5. 对粒子滤波算法的理解 特别通俗易懂
  6. m0单片机io口_51单片机50个例程代码
  7. 打包labview程序
  8. 海纳百川下载器(道客巴巴免费下载器)程序已停止工作解决方法
  9. dll注入之SetWindowsHookEx 键盘消息钩子
  10. Mysql压缩包版的安装教程