IC 理论篇(03-04)时序逻辑电路分析方法

芯片原厂必学课程 - 第三篇章 - IC 理论篇

03-04 时序逻辑电路分析方法

新芯设计:专注,积累,探索,挑战

引言

  根据逻辑功能的不同特点,数字电路可以划分成两大种类,一类称之为组合逻辑电路(简称组合电路),而另一类称之为时序逻辑电路(简称时序电路)

  组合逻辑电路指的是在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入(而且是瞬时变化),与电路原来的状态无关,它类似于电阻性电路,如加法器、编码器、译码器、选择器、分配器等等都属于此类

  时序逻辑电路指的是在逻辑功能上的特点是有效时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关(具有反馈功能和记忆功能),它主要由存储电路和组合电路两部分组成,它类似于含储能元件的电感或电容的电路,如触发器、锁存器、计数器、寄存器、存储器等等都属于时序电路的典型器件,组合逻辑电路和时序逻辑电路的分析和设计方法也不一样

  NOTES:本文来自《芯片原厂必学课程 - 第三篇章 - IC 理论篇》技术专栏


🌏 一、时序逻辑电路的相关概念

  对于同步时序逻辑电路,其存在一个公共的时钟信号,共享的系统时钟信号 sys_clk,电路中各记忆元件受它严格的统一控制,只有在该时钟信号有效沿(上升沿或者下降沿)到来时,记忆元件的状态才会统一发生变化,从而使得时序电路的输出发生变化,并且一个时钟信号有效沿只对应一次记忆元件的状态和电路输出状态的改变,也就是说,改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入 X 有无变化,状态表中的每个状态都是稳定的;(比如 D 触发器,只有当上升沿到来时,寄存器才把 D 输入端的数据(高低电平)传到 Q 输出端)

  同步时序逻辑中最基本的储存元件是触发器,同步逻辑是时钟之间有固定的因果关系,同步时序逻辑的核心逻辑用触发器实现,电路的主要信号、输出信号都由时钟信号驱动产生,可以很好的避免毛刺、有利于器件移植、有利于 STA 等等

  异步时序逻辑电路:不存在单一的主控时钟,工作节奏不一致,主要是用于产生地址译码器、FIFO 和异步 RAM 的读写控制信号脉冲,除了可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,由于异步电路没有统一的时钟,所以状态变化的时刻不稳定,因为电路状态的改变除了可以由部分时钟控制,还可以由外部输入的变化直接引起,而通常输入信号只在电路处于稳定状态时才发生变化,也就是说一个时刻允许一个输入发生变化,以避免输入信号之间造成的竞争 - 冒险现象

  异步时序逻辑中最基本的元件是锁存器,异步逻辑是时钟之间没有固定的因果关系,异步时序逻辑的核心逻辑使用组合电路实现,电路的主要信号、输出信号不依赖于任何一个时钟信号,容易产生毛刺、不利于器件移植、不利于 STA 等等


🌏 二、同步时序逻辑电路的分析方法

  ✅ 分析一个时序逻辑电路(如下),就是要通过分析找出时序电路的逻辑功能来,具体地说,就是要求找出电路的状态和输出的状态在输入变量和时钟信号作用下的变化规律

  ✉ 从给定的逻辑图中写出每个触发器的驱动方程(存储电路中每个触发器输入信号的逻辑函数式)

  ✉ 将以上驱动方程带入相应的触发器的特性方程(例如 Q* = JQ’ + K’Q),得出每个触发器的状态方程

  ✉ 从给定的逻辑图中写出电路的输出方程

  ✉ 以上三个方程组成了时序电路的逻辑功能的描述方程,时序电路状态转换全部过程的描述方式还有状态转换表(真值表)状态转换图时序图(波形图)

// 数字电路的时序逻辑功能
always @(posedge clk or negedge rst_n) begin
    if(!rst_n) 
        dout <= 1'b0;
    else
        dout <= ~dina & dinb | dinc;
end

03-04-01 经典的状态转换图的画法


🌏 三、异步时序逻辑电路的分析方法

  与同步时序逻辑电路的分析方法不同的是,在异步时序逻辑电路中,每次电路状态发生转换时并不是所有的 DFF 都有时钟信号(你需要找出每次电路状态转换时哪些 DFF 被触发哪些不被触发),而只有那些有时钟信号 的 DFF 才需要用特性方程去计算次态,没有 “时钟信号” 的触发器将保持原来的状态不变

### 解决PyCharm无法加载Conda虚拟环境的方法 #### 配置设置 为了使 PyCharm 能够成功识别并使用 Conda 创建的虚拟环境,需确保 Anaconda 的路径已正确添加至系统的环境变量中[^1]。这一步骤至关重要,因为只有当 Python 解释器及其关联工具被加入 PATH 后,IDE 才能顺利找到它们。 对于 Windows 用户而言,在安装 Anaconda 时,默认情况下会询问是否将它添加到系统路径里;如果当时选择了否,则现在应该手动完成此操作。具体做法是在“高级系统设置”的“环境变量”选项内编辑 `Path` 变量,追加 Anaconda 安装目录下的 Scripts 文件夹位置。 另外,建议每次新建项目前都通过命令行先激活目标 conda env: ```bash conda activate myenvname ``` 接着再启动 IDE 进入工作区,这样有助于减少兼容性方面的问题发生概率。 #### 常见错误及修复方法 ##### 错误一:未发现任何解释器 症状表现为打开 PyCharm 新建工程向导页面找不到由 Conda 构建出来的 interpreter 列表项。此时应前往 Preferences/Settings -> Project:...->Python Interpreter 下方点击齿轮图标选择 Add...按钮来指定自定义的位置。按照提示浏览定位到对应版本 python.exe 的绝对地址即可解决问题。 ##### 错误二:权限不足导致 DLL 加载失败 有时即使指定了正确的解释器路径,仍可能遇到由于缺乏适当的操作系统级许可而引发的功能缺失现象。特别是涉及到调用某些特定类型的动态链接库 (Dynamic Link Library, .dll) 时尤为明显。因此拥有管理员身份执行相关动作显得尤为重要——无论是从终端还是图形界面触发创建新 venv 流程均如此处理能够有效规避此类隐患。 ##### 错误三:网络连接异常引起依赖下载超时 部分开发者反馈过因网速慢或者其他因素造成 pip install 操作中途断开进而影响整个项目的初始化进度条卡住的情况。对此可尝试调整镜像源加速获取速度或是离线模式预先准备好所需资源包后再继续后续步骤。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新芯设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值