RTL - 寄存器传送级
所有关键字小写,对大小写敏感。
端口声明,数据类型声明。
wire、 tri(三态节点)、 supply0、 supply1。
数字:sized / unsized。 -8‘d3 = 8bit负数, 4’d-2 = ERROR!
位算符:~ / & / | / ^ / ^~(~^)
关系算子:> / < / >= / <=
相等算子:== / != / === / !==
逻辑算子:! / && / || 返回(1)/(0)
连接算子:{}
复制算子:{{}} 将矢量复制指定的次数
=阻塞赋值(顺序进行) <=非阻塞赋值(所有非阻塞操作同时进行)
if else (选择器) case (比多个选择权效率更高,但是条件不允许有交叠) casez casex
Froever / Repeat
函数与任务:函数用于组合逻辑 / 任务可以是组合或者寄存
函数总是返回赋值给函数名称的值(函数增加了代码的可读性)
和函数不同,任务不需要传递参数。
----
笔记来自《Altera语法基础》
本文深入解析RTL(寄存器传送级)设计的基本概念,涵盖了端口声明、数据类型、常见运算符如位算符、关系算子、相等算子、逻辑算子,以及非阻塞赋值等关键特性。同时介绍了ifelse、case语句的使用场景,以及函数与任务的区别,强调了任务在组合与寄存设计中的应用。
1279

被折叠的 条评论
为什么被折叠?



