spiderChow
12/6/2017 - 5:59 AM

digital

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,当前的工作状态只能处于一个状态之内。