RTL:
一组register
data path
control logic
operation:
将reg里面的值改变
将一个reg的值放到另一个里面
R2<-R1 赋值
If (T1=1) then (R2<-R1, R3<-R1)
逗号的话 这些在一个时钟周期完成
分号的话 前面的完成后面的才完成
shr 右移
shl 左移
transfer:同时进行
control 逻辑就是为了datapath 服务的
algorithm:
解决一个问题的所有操作步骤
可以用软件实现,或者硬件实现
ASM流程图表述硬件设计的总体思路 算法状态机 是一种FSM
==============================
ASM:
要素:
1. 状态box
2. 判断box
3. 条件box
状态box:
state box
矩形 代表状态
有个名字 e.g. s-idel
一个相应的二进制编码
要做的operation e.g. R<-0 而且是摩尔模型的,进入这个状态一定要做。
用箭头表示与时间相关的顺序,但是不代表时钟周期。
一个输入
判别box:
只有一个输入
菱形
不做任何operation
就是判别一个条件是否成立
条件box:
圆角矩形
在某个条件成立的情况下进行的operation
输入必须是一个判别box的输出
里面存放的是米丽模型的operation 有条件的
和一个state相关的操作是一个时钟周期完成的
一个时钟周期完成:判断 后面的操作。但是不是同时,有顺序
但是那些后面的操作是同时完成的。
两个state box之间是有很多decision condition
从一个state box开始(包括),到下一个state box之前的里面的所有的操作和判断,都归结到上一个state里面去
作为一个block 里面必须一个时钟周期完成
一个block 其实表述了一个状态
对于一个完整的ASM,当前的工作状态只能处于一个状态之内。