【FGPA】Verilog:JK 触发器 | D 触发器 | T 触发器 | D 触发器的实现

0x00 JK 触发器
JK 触发器是 RS 触发器和 T 触发器的组合,有两个输入端 J 和 K,如果两个输入端都等于 1,则将当前值反转。
| 行为表 | |
|
|
|
| 状态图 | |
|
| |
| Timing Diagram | |
|
| |
| Circuit | |
|
| |
JK 触发器的设计目的是防止 RS 触发器在输入 S 和 R 均等于 1 的值时被浪费,因为该值被认为是非法输入。它与 RS 触发器相同,不同之处在于如果输入值为 1,1,它不会作为非法值被接受,而是作为当前存储值的反相值被接受。
0x01 D 触发器
D 型触发器是触发器中最简单的一种。D 型触发器的名称来源于 "延迟"(Delay)一词,因为输出是输入的延迟值,直到下一个有效时钟转换为止。换句话说,D 型触发器的下一个状态是在有效时钟转换发生之前 D 的输入值。触发器有两种类型:跟踪边沿触发和前沿触发。
| 行为表 | ||||||||||||||||||||||
|
| |||||||||||||||||||||
| 状态图 | ||||||||||||||||||||||
|
| ||||||||||||||||||||||
| Timing Diagram | ||||||||||||||||||||||
|
| ||||||||||||||||||||||
| Circuit | ||||||||||||||||||||||
|
| ||||||||||||||||||||||
0x02 D 触发器的实现
真值表:
| D Flip Flop Truth Table | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
💬 Design source:
`timescale 1ns / 1psmodule DFF(input clk,input D,input CLR,output Q,output Qp
);reg Q;// falling edge triggered
always @(posedge !clk) beginif(CLR) Q<=1'b0;else beginif((D==1'b0)) Q<=1'b0;else if((D==1'b1)) Q<=1'b1;end
endassign Qp = ~Q;endmodule
💬 Testbench:
`timescale 1ns / 1psmodule DFF_tb;
reg clk, D, CLR;
wire Q, Qp;DFF u_DFF(.clk(clk ),.D(D ),.CLR(CLR ),.Q(Q ),.Qp(Qp )
);initial clk = 1'b0;
initial CLR = 1'b1;
initial D = 1'b0;always clk = #50 ~clk;always@(CLR) beginCLR = #125 ~CLR;
endalways@(D) beginD = #375 ~D;D = #50 ~D;
endalways@(D) beginD = #575 ~D;D = #50 ~D;
endalways@(D) beginD = #675 ~D;D = #50 ~D;
endinitial begin#800$finish;
endendmodule
🚩 运行结果如下:

Schematic:

D 触发器在时钟的上升沿或下降沿将其输入端 D 的值直接传递到输出端 Q。设计了一个具有下降沿触发器的 D 触发器,并编写了代码来检查 D 的值和时钟的值,以确保当时钟的值从 1 下降到 0 时,存储在 D 中的值被存储到 Q 中。

📌 [ 笔者 ] 王亦优
📃 [ 更新 ] 2023.11.28
❌ [ 勘误 ] /* 暂无 */
📜 [ 声明 ] 由于作者水平有限,本文有错误和不准确之处在所难免,本人也很想知道这些错误,恳望读者批评指正!
| 📜 参考资料 Introduction to Logic and Computer Design, Alan Marcovitz, McGrawHill, 2008 Microsoft. MSDN(Microsoft Developer Network)[EB/OL]. []. . 百度百科[EB/OL]. []. https://baike.baidu.com/. |
相关文章:
【FGPA】Verilog:JK 触发器 | D 触发器 | T 触发器 | D 触发器的实现
0x00 JK 触发器 JK 触发器是 RS 触发器和 T 触发器的组合,有两个输入端 J 和 K,如果两个输入端都等于 1,则将当前值反转。 行为表 状态图 Timing Diagram Circuit JK 触发器的设计目的是防止 RS 触发器在输入 S 和 R 均等于 …...
【人工智能】人工智能的技术研究与安全问题的深入讨论
前言 人工智能(Artificial Intelligence),英文缩写为AI。 它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是新一轮科技革命和产业变革的重要驱动力量。 📕作者简介&#x…...
苹果提醒事项怎么用?几个简单步骤就能学会!
苹果提醒事项可以帮助你轻松管理待办事项,让你更好地安排自己的时间和工作。但是,有些小伙伴可能对如何使用这个功能还有一些疑问。苹果提醒事项怎么用?不要担心,小编将为大家提供使用提醒事项的方法,帮助你学会如何使…...
<HarmonyOS第一课>从简单的页面开始 【课后考核】
判断题 在Column容器中的子组件默认是按照从上到下的垂直方向布局的,其主轴的方向是垂直方向,在Row容器中的组件默认是按照从左到右的水平方向布局的,其主轴的方向是水平方向。 正确(True)List容器可以沿水平方向排列,也可以沿垂…...
如何实现按需加载
如何实现按需加载 实现按需引入的步骤: ES6模块语法: 确保你的组件库使用了ES6模块语法,这是按需引入的基础。 拆分组件: 将组件库拆分成独立的模块,每个模块包含一个组件。这样,只有需要的组件才会被引入…...
Vue3-admin-template的表格合计计算
直接上代码: <el-table:data"lists"style"width: 100%"max-height"500":header-cell-style"{ textAlign: center }":cell-style"{ textAlign: center }"show-summary:summary-method"getSummaries"…...
spring JdbcTemplate 快速入门
概述 Spring JDBC Template 是 Spring Framework 提供的一个简化 JDBC 操作的模板类。它封装了一些常见的 JDBC 操作,使得开发者在使用 JDBC 时能够更加便捷、简洁,同时也提供了异常处理和资源管理等功能。 导入pom 使用C3P0作为数据源 <project x…...
leetcode:用队列实现栈(后进先出)
题目描述 题目链接:225. 用队列实现栈 - 力扣(LeetCode) 题目分析 我们先把之前写的队列实现代码搬过来 用队列实现栈最主要的是实现栈后进先出的特点,而队列的特点是先进先出,那么我们可以用两个队列来实现 一个队…...
使用opencv实现更换证件照背景颜色
1 概述 生活中经常要用到各种要求的证件照电子版,红底,蓝底,白底等,大部分情况我们只有其中一种,本文通过opencv实现证件照背景的颜色替换。 1.1 opencv介绍 OpenCV(Open Source Computer Vision Librar…...
Unity打出的安卓包切换后台再恢复前台,卡顿许久问题记录
连接AndroidStudio发现当切换后台时提示:D/Unity: Multi-casting "[IP] 192.168.31.231 [Port] 55000 [Flags] 19 [Guid] 1268732307 [EditorId] 264356214 [Version] 1048832 [Id] AndroidPlayer(11,Xiaomi_M2012K11AC192.168.31.231) [Debug] 0 [PackageName…...
Linux常用命令----shutdown命令
文章目录 命令概述参数解释使用示例及解释 命令概述 shutdown 命令用于安全地关闭或重启 Linux 系统。它允许管理员指定一个时间点执行操作,并可发送警告信息给所有登录的用户。 参数解释 时间参数 ([时间]): now: 立即执行关闭或重启操作。m: 在 m 分钟后执行操作…...
美创科技受邀亮相第二届全球数字贸易博览会
11月23日-27日,由浙江省人民政府、商务部共同主办的第二届全球数字贸易博览会(以下简称“数贸会”)圆满落幕。围绕“国家级、国际性、数贸味”的目标定位,以“数字贸易 商通全球”为主题,数贸会重点展示数字贸易全产业…...
有n件物品,每件物品都有一个花费,要求每m个中必须至少选2个,求最小花费
题目 #include<bits/stdc.h> using namespace std; #define int long long #pragma GCC optimize(2) const int maxn 2e4 5, maxm 2e3 5, inf 1e9; int a[maxn]; int f[maxm][maxm];//f[i][j]表示选了第i个,上一个选的是第i-j个(每m个中选2个…...
Hive数据库与表操作
文章目录 一、准备工作二、Hive数据库操作(一)Hive数据存储(二)创建数据库(三)查看数据库(四)修改数据库信息 一、准备工作 二、Hive数据库操作 (一)Hive数据…...
C语言数据结构之顺序表(上)
前言: ⭐️此篇博文主要分享博主在学习C语言的数据结构之顺序表的知识点时写的笔记,若有错误,还请佬指出,一定感谢!制作不易,若觉得内容不错可以点赞👍收藏❤️,这是对博主最大的认可…...
详解原生Spring中的控制反转和依赖注入-构造注入和Set注入
😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783…...
数组中的第 K 个最大元素(C++实现)
数组中的第 K 个最大元素 题目思路代码 题目 数组中的第 K 个最大元素 思路 通过使用优先队列(最大堆)来找到数组中第k大的元素。通过弹出最大堆中的前k-1个元素,留下堆中的顶部元素作为结果返回。 代码 class Solution { public:int find…...
C++ day42背包理论基础01 + 滚动数组
背包问题的重中之重是01背包 01背包 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 每一件物品其实只有两个状态,取或者不…...
数字人透明屏幕是如何工作的?
数字人透明屏幕是一种令人兴奋的科技产品,它结合了人脸识别、全息影像技术以及透明屏幕,为人们带来了全新的互动体验。本文将详细介绍数字人透明屏幕的工作原理以及其应用场景。 工作原理 数字人透明屏幕的工作原理主要包括人脸识别和全息影像技术。人脸…...
MIGO收货报替代“ZF002“, 步骤““ 中存在语法错误消息号 GB032错误
MIGO收货报替代"ZF002", 步骤"" 中存在语法错误消息号 GB032错误。替代"ZF002", 步骤"" 中存在语法错误消息号 GB032诊断 在 ABAP 代码生成过程中,在替代ZF002中发现了语法错误。 系统响应 未为该布尔陈述生成 ABAP 代码&…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...








