当前位置: 首页 > news >正文

【FPGA】Verilog:实现 RS 触发器 | Flip-Flop | 使用 NOR 的 RS 触发器 | 使用 NAND 的 RS 触发器

目录

0x00 RS 触发器(RS Flip-Flop)

0x01 实现 RS 触发器

0x02 使用 NOR 的 RS 触发器

0x03 使用 NAND 的 RS 触发器


0x00 RS 触发器(RS Flip-Flop)

触发器(Flip-Flop)是一种带有时钟的二进制存储设备,用于存储 0 和 1 的值。只有在时钟信号的边沿转换时,存储的 0 或 1 的值才会改变。

从 1 到 0 的转换称为下降沿触发,而从 0 到 1 的转换称为上升沿触发。触发器中存储的值在触发器的输入数据和先前存储的数据值的影响下完成这些转换。

S(设置)输入会导致触发器在下一个有效时钟沿存储一个 1,而 R(复位)输入会导致触发器存储一个 0。如果 S 和 R 的值同时为 0,则触发器保持当前状态;如果两者同时为 1,则被视为非法输入。

行为表

状态图

Timing Diagram

Circuit

0x01 实现 RS 触发器

真值表:

Input

Output

입력 순서

R

S

Q

~Q

1

0

1

1

0

2

0

0

1

0

3

1

0

0

1

4

0

0

0

1

5

1

0

0

1

6

1

1

X

X

0x02 使用 NOR 的 RS 触发器

💬 Design source:

`timescale 1ns / 1psmodule RSFF (input clk,input S,input R,input CLR,output Q,output Qp
);reg Q;// falling edge triggered
always @(posedge !clk) beginif(CLR) Q<=1'b0;else beginif ( (S == 1'b0) && (R == 1'b0) ) Q <= Q;else if ( (S == 1'b0) && (R == 1'b1)) Q <= 1'b0;else if ( (S == 1'b1) && (R == 1'b0)) Q <= 1'b1;else if ( (S == 1'b1) && (R == 1'b1)) Q <= 1'bx;end
endassign Qp = ~Q;endmodule

💬 Testbench:

`timescale 1ns / 1psmodule RSFF_tb;
reg clk, S, R, CLR;
wire Q, Qp;RSFF u_RSFF(.clk(clk ),.S(S ),.R(R ),.CLR(CLR ),.Q(Q ),.Qp(Qp ) 
);initial clk = 1'b0;
initial CLR = 1'b1;
initial S = 1'b0;
initial R = 1'b0;always clk = #50 ~clk;always@(CLR) beginCLR = #125 ~CLR;
endalways@(S) beginS = #175 ~S;S = #50 ~S;
endalways@(R) beginR = #375 ~R;R = #50 ~R;
endalways@(R) beginR = #575 ~R;R = #50 ~R;
endalways@(S) beginS = #675 ~S;S = #50 ~S;
endalways@(R) beginR = #675 ~R;R = #50 ~R;
endinitial begin#800$finish;
endendmodule

Schematic:

🚩 运行结果如下:

0x03 使用 NAND 的 RS 触发器

💬 Design source:

`timescale 1ns / 1psmodule RSFF (input clk,input S,input R,input CLR,output Q,output Qp
);reg Q;// falling edge triggered
always @(posedge !clk) beginif (CLR) Q << 1`b0;else beginQ <= ~(~(S & (~clk)) & Qp);Qp <= ~(~(R & (~cls)) & Q);end
endassign Qp = ~Q;endmodule

Schematic:

🚩 运行结果如下:

📌 [ 笔者 ]   王亦优
📃 [ 更新 ]   2022.11.19
❌ [ 勘误 ]   /* 暂无 */
📜 [ 声明 ]   由于作者水平有限,本文有错误和不准确之处在所难免,本人也很想知道这些错误,恳望读者批评指正!

📜 参考资料 

Introduction to Logic and Computer Design, Alan Marcovitz, McGrawHill, 2008

Microsoft. MSDN(Microsoft Developer Network)[EB/OL]. []. .

百度百科[EB/OL]. []. https://baike.baidu.com/.

相关文章:

【FPGA】Verilog:实现 RS 触发器 | Flip-Flop | 使用 NOR 的 RS 触发器 | 使用 NAND 的 RS 触发器

目录 0x00 RS 触发器&#xff08;RS Flip-Flop&#xff09; 0x01 实现 RS 触发器 0x02 使用 NOR 的 RS 触发器 0x03 使用 NAND 的 RS 触发器 0x00 RS 触发器&#xff08;RS Flip-Flop&#xff09; 触发器&#xff08;Flip-Flop&#xff09;是一种带有时钟的二进制存储设备…...

【技术追踪】SAM(Segment Anything Model)代码解析与结构绘制之Mask Decoder

论文&#xff1a;Segment Anything   代码&#xff1a;https://github.com/facebookresearch/segment-anything 系列篇&#xff1a;   &#xff08;1&#xff09;【技术追踪】SAM&#xff08;Segment Anything Model&#xff09;代码解析与结构绘制之Image Encoder   &am…...

认识Tomcat

文章目录 什么是tomcat&#xff1f;tomcat的使用tomcat的下载tomcat的目录结构tomcat的启动在tomcat上部署页面通过浏览器访问部署的页面 学习servlet的原因 什么是tomcat&#xff1f; 盖棺定论&#xff1a;Tomcat是一个HTTP服务器。 我们接下来要长期学习的东西都是关于前后…...

c语言通信之串口通信

在C语言中&#xff0c;可以使用串口通信、网络通信等多种方式实现计算机之间的通信。其中&#xff0c;串口通信通常用于近距离、低速率的通信&#xff0c;而网络通信则适用于远距离、高速率的通信。 下面以串口通信为例&#xff0c;介绍在C语言中如何实现串口通信。 1.打开串…...

​软考-高级-系统架构设计师教程(清华第2版)【第16章 嵌入式系统架构设计理论与实践(P555~613)-思维导图】​

软考-高级-系统架构设计师教程&#xff08;清华第2版&#xff09;【第16章 嵌入式系统架构设计理论与实践&#xff08;P555~613&#xff09;-思维导图】 课本里章节里所有蓝色字体的思维导图...

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-B卷

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-B卷 2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-B卷A模块基础设施设置/安全加固&#xff08;200分&#xff09;A-1&#xff1a;登录安全加固&#xff08;Windows, Linux&#xff09;A-2&#…...

【Python数据结构与算法】——(线性结构)精选好题分享,不挂科必看系列

&#x1f308;个人主页: Aileen_0v0&#x1f525;系列专栏:<<Python数据结构与算法专栏>>&#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 时间复杂度大小比较 1.time complexity of algorithm A is O(n^3) while algorithm B is O(2^n). Which o…...

大数据-之LibrA数据库系统告警处理(ALM-12054 证书文件失效)

告警解释 系统在每天二十三点检查当前系统中的证书文件是否失效&#xff08;即当前集群中的证书文件是否过期&#xff0c;或者尚未生效&#xff09;。如果证书文件失效&#xff0c;产生该告警。 当重新导入一个正常证书&#xff0c;并且状态不为失效状态&#xff0c;该告警恢…...

Linux 之 journalctl 查看系统与 kernel 日志

目录 1. Linux 之 journalctl 查看系统与 kernel 日志 1. Linux 之 journalctl 查看系统与 kernel 日志 1 概述 日志管理工具 journalctl 是 centos7 上专有的日志管理工具, 该工具是从 message 这个文件里读取信息。Systemd 统一管理所有 Unit 的启动日志。带来的好处就是, …...

【PTA题目】7-3 冰雹猜想。 分数 10

7-3 冰雹猜想。 分数 10 全屏浏览题目 切换布局 作者 赵静静 单位 浙江工贸职业技术学院 冰雹猜想的内容是&#xff1a;任何一个大于1的整数n&#xff0c;按照n为偶数则除等2&#xff0c;n为奇数则乘3后再加1的规则不断变化&#xff0c;最终都可以变化为1。 例如&#xff…...

springBoot 配置druid多数据源 MySQL+SQLSERVER

1:pom 文件引入数据 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.0</version> </dependency>…...

二叉树的创建与遍历

目录 前言&#xff1a; 二叉树的概念与结构 二叉树的链式存储 二叉树的创建 二叉树的销毁 二叉树结点个数计算 二叉树叶子结点个数计算 二叉树第k层节点个数的计算 二叉树高度的计算 二叉树查找值为x的结点 二叉树的遍历 二叉树的前序遍历 二叉树的中序遍历 二叉树…...

Mysql相关操作命令合集

参考文档&#xff1a;2021-06-25MySQL8.0创建用户和权限控制 - 简书 mysql登陆命令&#xff1a; mysql -u用户名 -p密码; 若遇到复杂密码&#xff0c;包含特殊字符&#xff0c;则需要做转义&#xff08;以下密码为&#xff1a;rootry?elyl!&#xff09;&#xff1a; mysql…...

前端开发学习 (一) 搭建Vue基础环境

一、环境搭建 1、安装nodejs #下载地址 https://nodejs.org/dist/v20.9.0/node-v20.9.0-x64.msi 2、配置环境变量 上面下载完安装包后自行安装&#xff0c;安装完成后安装下图操作添加环境变量 #查看版本 node --version v20.9.0# npm --version 10.1.03、配置npm加速源 np…...

二维码智慧门牌管理系统升级解决方案:查询功能大提升,让地址查找变得轻松便捷!

文章目录 前言一、支持地址名称、小区等信息进行模糊查询二、支持地图上绘制多边形、圆形、矩形进行范围查询三、高效的数据处理能力&#xff0c;保证查询速度四、灵活的应用场景&#xff0c;满足多种需求 前言 随着科技的快速发展和城市化的加速推进&#xff0c;传统的门牌管…...

vite+vue3+electron开发环境搭建

环境 node 18.14.2 yarn 1.22 项目创建 yarn create vite test01安装vue环境 cd test01 yarn yarn dev说明vue环境搭建成功 安装electron # 因为有的版本会报错所以指定了版本 yarn add electron26.1.0 -D安装vite-plugin-electron yarn add -D vite-plugin-electron根目…...

C#入门(9):多态介绍与代码演示

多态性是面向对象编程的一个核心概念&#xff0c;它允许你使用一个父类引用来指向一个子类对象。这可以使程序具有可扩展性&#xff0c;并且可以用来实现一些高级编程技术&#xff0c;如接口、事件、抽象类等。 多态相关的概念 以下是一些在C#中使用多态性的关键概念&#xf…...

可拖动、可靠边的 popupWindow 实现

0 背景 开发要实现一个可以拖动的圆角小窗&#xff0c;要求松手时&#xff0c;哪边近些靠哪边。并且还规定了拖动范围。样式如下&#xff1a; 1 实现 首先把 PopupWindow 的布局文件 pop.xml 实现 <?xml version"1.0" encoding"utf-8"?> <R…...

C# 依赖注入如何实现

在 C# 中&#xff0c;依赖注入&#xff08;Dependency Injection&#xff0c;简称 DI&#xff09;是一种编程技术&#xff0c;用于减少代码之间的耦合。依赖注入可以通过构造函数注入、属性注入或方法注入实现。在 .NET Core 和 .NET 5 中&#xff0c;还提供了一个内置的依赖注…...

Redis 9 数据库

4 设置键的生存时间或过期时间 通过EXPIRE命令或者PEXPIRE命令&#xff0c;客户端可以以秒或者毫秒精度为数据库中的某个键设置生存时间&#xff08;TimeToLive&#xff0c;TTL&#xff09;&#xff0c;在经过指定的秒数或者毫秒数之后&#xff0c;服务器就会自动删除生存时间…...

保姆级教程:用Python把DeepSig RadioML 2018.01A数据集拆成单信噪比.mat文件

从零开始处理RadioML数据集&#xff1a;Python实战分拆单信噪比MAT文件 无线电信号处理领域的研究者常常需要处理大规模数据集&#xff0c;而DeepSig发布的RadioML 2018.01A数据集是调制识别研究的黄金标准之一。这个包含24种调制类型、26个信噪比级别的数据集虽然内容丰富&am…...

商品详情API的SLA保障体系:监控告警、异常检测与自动化修复

在电商业务中&#xff0c;商品详情API是连接前端展示与后端数据的核心枢纽&#xff0c;其稳定性、可用性直接决定用户体验与业务转化——用户点击商品卡片后&#xff0c;若API响应延迟、数据异常或服务中断&#xff0c;会直接导致用户流失、订单损失。SLA&#xff08;服务等级协…...

CUB-200-2011 鸟类数据集的训练及应用 鸟类识别 适用于细粒度分类研究,多种计算机视觉任务

CUB-200-2011 鸟类数据集的训练及应用 鸟类识别 文章目录&#x1f9f0; 一、环境搭建1. 安装 Python 虚拟环境&#xff08;推荐使用 Conda&#xff09;2. 安装必要依赖&#x1f4c1; 二、数据集结构与准备3. 构建 PyTorch Dataset&#x1f3cb;️‍♂️ 三、构建模型并训练1. 使…...

Cursor AI 开发环境配置:告别依赖冲突,用 Conda 虚拟环境管理你的数据科学项目

Cursor AI 开发环境配置&#xff1a;告别依赖冲突&#xff0c;用 Conda 虚拟环境管理你的数据科学项目 在数据科学和机器学习项目的开发过程中&#xff0c;依赖管理一直是个令人头疼的问题。想象一下这样的场景&#xff1a;你正在开发一个基于TensorFlow 2.4的项目&#xff0c;…...

Chord视频时空定位惊艳效果:边界框动态跟踪+毫秒级时间戳可视化呈现

Chord视频时空定位惊艳效果&#xff1a;边界框动态跟踪毫秒级时间戳可视化呈现 1. 工具核心能力展示 Chord视频时空理解工具基于先进的Qwen2.5-VL架构开发&#xff0c;专门解决视频内容分析的复杂需求。与传统图像分析工具不同&#xff0c;Chord能够理解视频中的时序信息&…...

基于RetinaFace的课堂考勤系统:人脸识别与数据分析

基于RetinaFace的课堂考勤系统&#xff1a;人脸识别与数据分析 1. 为什么传统点名方式正在被智能考勤替代 早上八点的教室里&#xff0c;老师站在讲台前翻着花名册&#xff0c;学生低头刷手机&#xff0c;后排有人悄悄把书包放在空座位上——这种场景在高校和职业院校并不少见…...

巧用Option Bytes:解锁单片机NRST引脚的GPIO潜能

1. 为什么需要复用NRST引脚&#xff1f; 在开发低成本嵌入式系统时&#xff0c;我们经常会遇到引脚资源紧张的问题。就拿我最近做的一个智能家居传感器项目来说&#xff0c;选用了8引脚的PY32F002单片机&#xff0c;光是电源和地线就占了2个引脚&#xff0c;剩下的6个引脚要处理…...

基于YOLO26的人脸识别技术

基于YOLO26的人脸识别技术方案代表了边缘计算与轻量化视觉AI的前沿突破。YOLO26作为Ultralytics团队于2026年初发布的最新一代YOLO模型,通过"无NMS端到端推理+架构精简优化"的核心设计理念,实现了在CPU和边缘设备上43%的推理速度提升,同时保持了优秀的检测精度。本…...

从 Vectorless 到 SAIF 再到板级实测:HLS Kernel 功耗估计全流程实战

从 Vectorless 到 SAIF 再到板级实测&#xff1a;HLS Kernel 功耗估计全流程实战 很多人在做 FPGA 或 SoC 上的 HLS kernel 时&#xff0c;第一次接触功耗分析&#xff0c;往往是从 Vivado 里的 report_power 开始的。点一下按钮&#xff0c;工具很快就会给出一个总功耗数字&am…...

5分钟Mac本地跑通32B Qwen!免费GPT-4o替代,还能5分钟造个会开浏览器+执行Shell的AI Agent

1. 硬件与模型选择 配置&#xff1a;Apple M2 Pro&#xff08;19 核 GPU&#xff09;、32GB 统一内存。 推荐模型&#xff1a;mlx-community/Qwen2.5-Coder-32B-Instruct-4bit 4bit 量化后只占 18-22GB 内存专为代码和 Agent 优化&#xff0c;Tool Calling 能力强MLX 原生支持…...