my first blog

Coooookie hahah

P0_Study

电路分析设计

  1. Input与Output分析
  2. 功能分析
    (可以先进行类似于表格的书面化说明,明白好设计思路与设计需求再去设计电路)
  3. 分层设计与分模块设计
    模块类似于函数的封装,便于理清思路、清晰电路、debug
    eg1.Moore机与Mealy机都可以划分为状态转移、状态存储、输出模块
    eg2.32位加法器分为多个一位加法器
    PS:注意子电路的appearance,要跟题目要求一致

有限状态机

首先回顾一下Moore和Mealy叭!
1

  1. 状态转移电路一般只是组合逻辑的计算,也就是说随着input的变化(无论clk处于什么状态),其计算的状态也相应发生,所以一定要有状态存储模块,clk处于上升沿时输出prev_state存入now_state
  2. 对于组合逻辑部分,画好状态转移图,一个经济有效的方法就是打表,利用analyze circuit来实现
  3. 一定弄清题目对于输出的要求,正确使用register

线路颜色不对报错

小结:

  1. 红色 E 的可能原因:短路/多驱动,门电路没接输入,多驱动即相当于多个逻辑运算assign同一个output,这当然是不行的
  2. 状态转移模块是组合逻辑,不需要时钟,不需要 reset
  3. 真值表生成电路功能的使用
  4. 不要在组合逻辑电路中出现环路,否则会出现震荡!

question

  1. register的使用(navigation那里)
    ①先把问题转化成有限状态机,再把有限状态机实现成电路
    ②每个时钟上升沿到来,更新寄存器的值
  2. 三态问题?什么时候用三态?(好像三态的输入用逻辑门运算会变红)
    不用考虑三态
  3. 二进制减法qaq不会(主要是ftoi那里)
    扩展为32位,再用0去减
    用0去减其实与非门等效

CRC

1
1

  1. 体现了模块化的思想
  2. 要审题,题目说了被除数是要拼接的
  3. 注意splitter的最高位最低位以及数据的最高位最低为的对应,不要反了!

GRF

题目不难,注意线路很杂的时候要看有没有接上或者接错,CTRL CV 的时候tunnel要改完改对

ftoi

  1. 二进制浮点数小数点几位,相当于右移几位;乘2^n想当于左移(正数),注意要先左移再右移,否则就丢失掉后面的数据位了
  2. 二进制减法?不会qaq
  3. 计算负数的补码,取反(非门计算)+1,(?2^n-x感觉是不是不太行,因为n达不到32位)
  4. 学会试着使用simulate-logging功能debug
  1. 状态转移打表 “课上课下打表最经济有效”————董老 salute!
    此处状态转移以及hit都可以打表得到(注意打表的时候输入输出都只能是一位,这里需要splitter套层皮,同样是注意高低位)
  2. 太憨了!看好输入输出要求,是否提供clk,如果clk是一个input就不要再自己放一个clk了,太憨。
  3. 注意状态存储部分要符合题目要求
  4. 状态转移打表、register存储、input和prev_state决定输出,这些没什么好说的
  5. What deserves special mention is 注意这里利用MUX实现了同步复位,因为后面有register,只有clk处于上升沿,这个clr才是有效的(组合逻辑是不是们没有任何延迟?目前是的)

祝上机顺利!

  • Post title:my first blog
  • Post author:Coooookie
  • Create time:2022-12-27 20:16:19
  • Post link:https://coooookie0913.github.io/2022/12/27/my first blog/my-first-blog/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.