RTL学习记录二(VHDL)

一、顺序描述语言

1、赋值语句:信号赋值语句和变量赋值语句

信号赋值语句:目标信号 <= 表达式;

变量赋值语句:目标变量 := 表达式;

信号赋值语句的执行和信号值的更新至少有t延迟,只有延迟过后信号才能得到新值,否则保持原值;对于变量赋值语句来说,赋值没有延迟,变量在赋值语句执行后立即得到新值。

2、if语句

if 条件1 then
    第1组顺序语句
elsif 条件2 then
    第2组顺序语句
  …   …   …  
elsif 条件n then
    第n组顺序语句
else
    第n+1组顺序语句
end if;

3、case语句

case 条件表达式 is
    when 条件表达式的值 => 一组顺序语句;
        ……       ……      ……
    when 条件表达式的值 => 一组顺序语句;
end case;

4、for loop循环语句

循环标号 : for 循环变量 in 范围 loop
              顺序处理语句
          end loop 循环标号;

5、null语句

只占位置的空操作

null;

二、并行描述语言

1、进程语句

进程语句结构内部所有语句都是顺序执行的;进程语句的启动是由process后敏感信号表中所表明的敏感信号来触发进程的;各进程之间的通信由信号来传递的。

注意:当进程中没有敏感信号表时,进程语句中必须由其他形式的敏感信号激励;而当进程中有敏感信号表,进程语句中不允许再出现wait、wait for、wait until和wait on中的任何一种敏感信号激励语句,否则编译时将会给出错误信息。

标记:process(敏感信号表)
            变量说明语句;
begin
            一组顺序语句;
end process 标记;

2、并发信号赋值语句

 信号赋值语句再进程内部出现时,它是一种顺序描述语句;在结构体的进程之外出现时,以并发方式运行。并发赋值语句靠事件驱动。例如:x<=a and b;只有a and b改动时才会执行语句。

3、条件信号赋值语句

目标信号<=表达式1 when 条件1 else
         表达式2 when 条件2 else
         表达式3 when 条件3 else
         ……
         表达式n-1 when 条件4 else
         表达式n;

4、选择信号赋值语句

with 表达式 select
    目标信号<=表达式1 when 选择条件1 
             表达式2 when 选择条件2 
             表达式3 when 选择条件3
             ……
             表达式n-1 when 选择条件4
             表达式n;

5、元件例化语句

在VHDL程序设计中,将常用的、具有典型功能的实体存放在同一目录下,在设计复杂电路的数字电路时,可以调用已经设计好的实体。有两种调用方式,一是使用图形输入方式实现;二是用VHDL程序的方法实现,即元件例化语句。

元件说明语句:

component 调用的元件名
    generic 参数说明;
    port 端口说明;
end component;

元件例化语句:

标号名:元件名
    generic map(参数映射)
    port map(端口映射);

6、生成语句

如果电子电路中的某部分是由同类元件组成的阵列,这些同类元件叫规则结构。规则结构一般用生成语句描述。生成语句有两种:for_generate语句和if_generate语句。for_generate语句用来描述规则结构;if_generate语句用来描述规则结构在其端部表现出的不规则性。

for_generate语句:

标号:for 循环变量 in 离散范围 generate
        并行处理语句
      end generate 标号

if_generate语句:

标号:if 条件 generate

        并行处理语句;
end generate 标号;

三、时钟信号描述方法

1、时钟信号

时钟边沿的描述方法

以上图为例

clk‘last_value:时钟起始信号为0

clk'event:上升沿到来,表示发生了一个事件

clk:当前值为1

所以上升沿到来的条件可写为:

clk='1' and clk'last_value = '0' and clk'event

同理,下降沿的描述:

clk='0' and clk'last_value = '1' and clk'event

2、时钟复位信号

触发器的初始状态由复位信号设置。根据复位信号对触发器复位的操作不同,可以分为同步复位和异步复位。同步复位就是当复位信号有效且在给定的时钟边沿到来时,触发器才被复位。异步复位指一旦复位信号有效,触发器就被复位。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值