文章目录

  • 前言
  • 电路设计1
    • 原题复现
    • 题目解析
    • 我的设计
  • 电路设计2
    • 原题复现
    • 题目解析
    • 我的设计
  • 电路设计3
    • 原题复现
    • 题目解析
    • 我的设计
  • 电路设计4
    • 原题复现
    • 题目解析
    • 我的设计

前言

上篇博文讨论了组合逻辑的情况,最后留了几个题目,我也没做,感觉繁杂,有兴趣的可以挑战一下,地址为:
上篇博文链接
这篇博客,可以说是上篇博客的姊妹篇,简单的讨论下时序逻辑的类型,通过仿真波形来设计电路是一类题目,也应该是我们应该具备的电路设计能力。
写代码心里要有电路,给出电路要能转化为设计,给出波形图也要能给出电路设计,这都是需要努力的方向。

电路设计1

先给出一个最简单的时序波形,然后给出设计。
原题链接

原题复现

This is a sequential circuit. Read the simulation waveforms to determine what the circuit does, then implement it.

题目解析

很容易看出,这仅仅是对输入延迟一拍,并取反得到最后的结果。

我的设计

module top_module (input clk,input a,output q );reg q_r1 = 0;always@(posedge clk) beginq_r1 <= a;endassign q = ~q_r1;endmodule

电路设计2

原题链接

原题复现

This is a sequential circuit. Read the simulation waveforms to determine what the circuit does, then implement it.

题目解析

这个题目还是需要多看一会的,对于p来说是一个时钟高电平跟随,低电平锁存的锁存器。
对于q是一个二分频电路,注意,是在时钟下降沿的时候,q翻转一次。
不得不让人吐槽的是,没有给出复位信号,所以我们只能在信号定义的时候给一个初值,至于初值是0还是1,没有要求,但是如果是做这个题目,就可能对应其中的一种。
在波形信息中,我只能看到这一点。如果设计还是不正确的话,就让这道题去si吧,心里知道怎么回事就好了,不得不说bug一条。

我的设计

module top_module (input clock,input a,output p,output q );reg p_mid = 0;always@(*)beginif(clock) p_mid = a;else p_mid = p_mid;endreg q_mid = 1;always@(negedge clock) beginq_mid <= ~q_mid;endassign q = q_mid;assign p = p_mid;endmodule

电路设计3

题目链接

原题复现

This is a sequential circuit. Read the simulation waveforms to determine what the circuit does, then implement it.

Module Declaration
module top_module (
input clk,
input a,
output [3:0] q );

题目解析

这个题目其实就是一个带有使能的计数器,计数值最大为6,使能信号a低电平有效,无效期间置位为4。

我的设计

module top_module (input clk,input a,output [3:0] q );reg [3:0] q_mid;always@(posedge clk)beginif(a) q_mid <= 4;else if(q_mid == 6) q_mid <= 0;else q_mid <= q_mid + 1;endassign q = q_mid;endmodule

电路设计4

题目链接

原题复现

This is a sequential circuit. The circuit consists of combinational logic and one bit of memory (i.e., one flip-flop). The output of the flip-flop has been made observable through the output state.

Read the simulation waveforms to determine what the circuit does, then implement it.
Module Declaration
module top_module (
input clk,
input a,
input b,
output q,
output state );

题目解析

这个题目暂时没有看出来,等待你的发现。

我的设计

HDLBits 系列(42)根据仿真波形来设计电路之时序逻辑相关推荐

  1. HDLBits 系列(41)根据仿真波形来设计电路之组合逻辑

    文章目录 Sim/circuit1 原题复现 我的设计 Sim/circuit2 原题复现 题目分析 我的设计 Sim/circuit3 原题复现 题目分析 我的设计 Sim/circuit4 原题复 ...

  2. FPGA学习(第8节)-Verilog设计电路的时序要点及时序仿真

    一个电路能跑到多少M的时钟呢? 这和电路的设计有密切联系(组合逻辑的延时),我们知道电路器件都是由一定延迟的,所以信号的仿真很重要.如果延迟时间大于时钟,就会导致时序违例,出现逻辑错误. 项目要求30 ...

  3. HDLBits 系列(0)专题目录

    本篇博文是近来总结HDLBits系列的目录,点击蓝色字体即可进入查看具体内容. HDLBits 系列(1)从HDLBits中获取灵感,整顿自己,稳步前行 HDLBits 系列(2)如何避免生成锁存器? ...

  4. 零基础学FPGA(五):时序逻辑电路设计之计数器(附有呼吸灯实验、简单组合逻辑设计介绍)

    目录 日常·唠嗑 前言 一.认清逻辑设计 二.时序逻辑电路设计 三.扩展:呼吸灯实验 日常·唠嗑 第一次建立<零基础学FPGA>专栏,是在2021年2月2日,已经过去了一年了,目前只更新了 ...

  5. Verilog时序逻辑硬件建模设计(四)移位寄存器

    Verilog时序逻辑硬件建模设计(四)移位寄存器 -Shift Register 没有任何寄存器逻辑,RTL设计是不完整的.RTL是寄存器传输级或逻辑,用于描述依赖于当前输入和过去输出的数字逻辑. ...

  6. HDLBits 系列(38)值得一看的状态机设计题目

    目录 背景 原题复现 我的方案 状态转移图 我的设计 更新方案 FPGA/IC群推荐 背景 这是这个系列中的一个状态机的题目,但是相比于给了你完整状态转移图之类的题目,这个题目还是稍微有点难的,我实在 ...

  7. HDLBits 系列(5)让三元条件运算符(?:)在你的设计中发挥作用

    目录 抛砖引玉 举例练习 写在最后 抛砖引玉 Verilog具有三元条件运算符(?:)运用得当,可以起到简化代码的作用,使得代码的易读性提高,但是运用不当,也会背道而驰. 下面讲讲Verilog具有三 ...

  8. HDLBits 系列(1)从HDLBits中获取灵感,整顿自己,稳步前行

    目录 前言 对HDLBits的夸赞 最后想说的话 前言 坚持一件事情很难系列,有些事情看似简单,但是坚持做下去确实会有所收获,举个不恰当的例子,总搞一些自己觉得难的东西,会让自己的博客断更,困难的东西 ...

  9. 【011】基于51单片机的低频信号发生proteus仿真与实物设计

    ​一.资料内容 (1).基于51单片机的低频信号发生proteus仿真设计一份: (2).基于51单片机的低频信号发生proteus仿真设计keli源代码一份: (3).基于51单片机的低频信号发生A ...

最新文章

  1. python property装饰器原理,Python @property装饰器不起作用
  2. 最近开始接触网络电话
  3. 2061:【例1.2】梯形面积【入门题】
  4. 【报告分享】2021四大行业品牌蓝V社媒内容运营观察报告.pdf(附下载链接)
  5. Shell_Shell调用SQLPlus简介(案例)
  6. 【原】React中,map出来的元素添加事件无法使用
  7. 形象描述oracle是如何工作的--有点意思
  8. 安装emmet时pyv8下载失败
  9. 【theano-windows】学习笔记五——theano中张量部分函数
  10. 利用xlsl.full.js导入excel表格
  11. 小程序中wx-if使用方法
  12. 京东登陆界面正则匹配
  13. C# “贝格尔”编排法
  14. 关于linux移植碰到Resetting CPU ...的问题
  15. python elementtree乱码_Python中使用ElementTree解析xml
  16. 一文带你吃透 Kafka 这些原理
  17. Unity 绿幕视频抠图算法原理与实现 -- 效果极好
  18. Brew平台音乐播放器Dream Player
  19. High waits on control file sequential read
  20. 跟艾文学编程 《零基础入门学Python》Jupyter Notebook安装和使用

热门文章

  1. Lync Server 2010移动功能部署PART B:外部篇
  2. windows 7作为微软对抗Google的秘密武器
  3. python随机生成车牌_Python实现随机生成任意数量车牌号
  4. c++ 判断数学表达式有效性_C运算符和表达式、if判断、switch与逻辑运算、循环语句...
  5. mysql引擎层存储层_MySQL存储底层技术:InnoDB底层原理解读
  6. 奇瑞a3中控按键图解_纷纷亮相,奇瑞众多黑科技悄然现身,焦点全在星途VX智能座舱上...
  7. 全面理解Javascript闭包和闭包的几种写法及用途
  8. android 计算运动速度,android – 计算参考真北的加速度
  9. oracle rowid mysql_相当于Oracle的RowID在MySQL中
  10. vb.net调用oracle存储过程,今天搞好了VB.NET调用Oracle存储过程返回游标的问题