【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 代码&…...
避坑指南:当Autoware遇上RS-LiDAR,点云格式转换与地面滤波的那些‘坑’(附源码修改)
Autoware与RS-LiDAR实战:点云格式转换与地面滤波的深度解决方案 当国产激光雷达遇上Autoware这套自动驾驶开发框架,技术团队往往会遇到一些意想不到的兼容性问题。特别是从Velodyne切换到RS-LiDAR这类国产雷达时,点云处理链路的异常往往会导…...
书匠策AI:论文写作界的“智能导航仪”,让课程论文创作如行云流水!
在学术的征途中,每一篇课程论文都是一次智慧的探险,既充满挑战也孕育着成长的喜悦。然而,面对浩瀚的知识海洋和复杂的写作规范,许多学子常常感到力不从心,甚至迷失方向。别怕,今天我要为你揭秘一位论文写作…...
Phi-4-Reasoning-Vision开源大模型:支持ONNX Runtime加速部署
Phi-4-Reasoning-Vision开源大模型:支持ONNX Runtime加速部署 1. 项目概述 Phi-4-Reasoning-Vision是一款基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具,专为双卡RTX 4090环境优化。这个工具严格遵循官方SYSTEM PROMPT规范&…...
002、Python开发环境搭建:从官网下载到安装完成
002、Python开发环境搭建:从官网下载到安装完成 昨天帮实习生调试一个简单的脚本,他信誓旦旦说环境肯定没问题,结果一跑就报“python不是内部或外部命令”。我让他打开命令行输入where python,果然空空如也——环境变量都没配。这…...
AI Coding越来越强,我们还有必要学Processing吗? · 创意编程运
故障表现 发现请求集群 demo 入口时卡住,并且对应 Pod 没有新的日志输出 rootce-demo-1:~# kubectl get pods -n deepflow-otel-spring-demo -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NO…...
Linux Docker 安装与使用详细教程
一、Docker 概述 1.1 什么是 Docker? Docker 是一个开源的应用容器引擎,基于 Go 语言开发并遵从 Apache2.0 协议开源。它可以让开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,实现虚…...
Ryujinx模拟器完全指南:从基础原理到高级应用
Ryujinx模拟器完全指南:从基础原理到高级应用 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 一、核心认知:模拟器技术解析与平台适配 模拟器工作机制…...
3个强力方案:FanControl风扇控制中文设置完全指南
3个强力方案:FanControl风扇控制中文设置完全指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/Fan…...
VINS-Mono代码架构深度解析:从feature_tracker到pose_graph,搞懂每个模块在做什么
VINS-Mono代码架构深度解析:从feature_tracker到pose_graph,搞懂每个模块在做什么 当你第一次成功运行VINS-Mono并看到实时轨迹在RVIZ中流畅呈现时,那种成就感不言而喻。但作为追求技术深度的开发者,我们不会满足于"能跑通&q…...
5个进阶技巧:掌握ControlNet-v1-1_fp16_safetensors的图像生成调优
5个进阶技巧:掌握ControlNet-v1-1_fp16_safetensors的图像生成调优 【免费下载链接】ControlNet-v1-1_fp16_safetensors 项目地址: https://ai.gitcode.com/hf_mirrors/comfyanonymous/ControlNet-v1-1_fp16_safetensors ControlNet-v1-1_fp16_safetensors为…...








