VHDL硬件描述语言学习笔记(三)

您所在的位置:网站首页 赋值语句合法的条件 VHDL硬件描述语言学习笔记(三)

VHDL硬件描述语言学习笔记(三)

2024-06-25 17:00| 来源: 网络整理| 查看: 265

本文主要参考b站视频:【考研】EDA技术(vhdl技术),建议有时间的跟着听一下,从第8节开始,一直到31节都是讲VHDL,讲的很全面,赶时间的可以直接看我这个笔记。

文章目录 1.5 VHDL并发语句(Concurrent)1.5.1 进程(process)语句1.5.2 块语句1.5.3 并行信号赋值语句1.5.4并行过程调用语句1.5.5 VHDL的层次化设计与元件声明(component)及元件例化(instantial)语句

1.5 VHDL并发语句(Concurrent)

在这里插入图片描述 结构体中所有的语句都是并发的,并发语句和并发语句之间需要进行信息的传递,即信号。 常用的并发描述语句有: 进程(process)语句、块(block)语句、顺序描述语句的并行版本、并行过程调用语句、元件例化语句、生成语句。

1.5.1 进程(process)语句

进程(process)语句最具VHDL语言特色(既具有顺序语句的特点又具有并行语句的特点)。提供了一种用算法描述硬件行为的方法。 特点: 1、进程与进程,或其它并发语句之间的并发性; 2、进程内部的顺序性; 3、进程的启动与挂起; 4、进程与进程,或其它并发语句之间的通信。 在这里插入图片描述

[标记:]process[(敏感信号表)] {进程说明项} begin {顺序描述语句} end process [标记];

敏感信号表:进程内要读取的所有敏感信号(包括端口)的列表。每一个敏感信号的变化,都将启动进程。 格式:信号名称{,信号名称} 敏感信号表的特点:

同步进程的敏感信号表中只有时钟信号。 如: process(clk) begin if(clk'event and clk=‘1’)then if reset='1'then data]表达式{, [参数名=>]表达式})]

例:并行过程调用与串行过程调用

... procedure adder(signal a,b:in std_logic; signal sum:out std_logic); ... adder(a1,b1,sum1); ... process(c1,c2) begin adder(c1,c2,s1); end process;

例:利用并行过程调用完成不同位宽信号的检测。检测位矢信号中是否有只有一个‘1’的过程:

procedure check(signal a:in std_logie_vector; signal error:out boolean) is variable found_one:boolean:=false; begin for i in a'range loop if a(i)='1' then if found_one then error


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3