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

电路设计的一些概念

锁存器的产生

论述1
在这里插入图片描述

(转)时序电路,生成触发器,触发器是有使能端的,使能端无效时数据不变,这是触发器的特性。
组合逻辑,由于数据要保持不变,只能通过锁存器来保存。
第一个代码,由于是时序逻辑,生成的触发器在enable无效时就可以保存数据。跟锁存器无关。
第二个代码就是在enable为低时,数据不变,因此要生成锁存器。

论述2
(转)所谓生成latch其实是针对使用always语句描述一个组合逻辑而言。
因为如果描述时序逻辑总是使用时钟或者时钟+复位作为敏感列表条件,所生成的电路总是组合逻辑+DFF;
如果是描述组合逻辑,敏感列表中必然没有时钟复位,而是组合逻辑的输入信号。在FPGA设计,避免使用latch,不利于时序分析和仿真。
楼上有提到latch比DFF省资源, 这个在FPGA设计中其实还好, 因为在FPGA中DFF就是一个专用的硬件资源,并且数量也比较多。

使用always描述组合逻辑时,好的习惯是使用always @(*)作为敏感列表, 并且需要检查每个分支都有明确的赋值,从而避免生成latch。

论述3
从阻塞和非阻塞的角度总结一下always块。
1.要生成DFF,是时序逻辑所以用<=,要用时钟所以用always@(posedge clk),。
2.要生成latch,是时序逻辑所以用<=,本质是个不完整的if分支,不用时钟所以用always@(*)。
3.要生成组合逻辑,是组合逻辑,都用=,自然不用时钟所以用always@(*)。

关于alway块,有两点是要小心的:
(一)写组合逻辑时,由于分支不完整带来的latch。
(二)写时序逻辑时错用=导致逻辑错误。

论述4
生成latch的代码

module top_module (input d, input ena,output q);assign q=(ena)?d:q;
endmodulemodule top_module (input d, input ena,output reg q);always @(*)beginq <= (ena) ? d : q;end  
endmodule不推荐
module top_module (input d, input ena,output reg q);always @(*)beginq = (ena) ? d : q;end  
endmodule//上述3种描述⽅式⽣成最终电路是相同的。or
always@(*) beginif(E) beginQ = Dend 
end

防止综合不必要的锁存器
锁存器并不是一种所谓的“不好的东西”,据说在 ASIC 设计中会使用锁存器减少硅片面积,提高流水线处理中的性能(这段来自书本)。糟糕的是综合器推断出了不必要的,和原本设计目的相冲突的锁存器。
方法一:使用同步设计
方法二:保持良好的编码风格,使用完整的 if 语句覆盖所有的 case

always @(latch ena) begin
if(latch_ena)latch_out = latch data;
elselatch_out = 1'b0;
end
综合器将代码综合为了一个选择器

总结
时序电路无论如何不会产生锁存器,组合电路只要条件不完备就会产生锁存器。

FPGA ug974

FDCE

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

FDPE

在这里插入图片描述
在这里插入图片描述

FDRE

在这里插入图片描述

在这里插入图片描述

FDSE

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

LDCE

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

LDPE

在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述
关于FPGA中锁存器的生成 有FPGA电路图

相关文章:

电路设计的一些概念

锁存器的产生 论述1 (转)时序电路&#xff0c;生成触发器&#xff0c;触发器是有使能端的&#xff0c;使能端无效时数据不变&#xff0c;这是触发器的特性。 组合逻辑&#xff0c;由于数据要保持不变&#xff0c;只能通过锁存器来保存。 第一个代码&#xff0c;由于是时序逻…...

【Linux】Linux下权限的理解

前言&#xff1a;在之前我们已经对基本的指令进行了深入的学习&#xff0c;接下来我将带领大家学习的是关于权限的相关问题。在之前&#xff0c;我们一直是使用的【root】用户&#xff0c;即为“超级用户”&#xff0c;通过对权限的学习之后&#xff0c;我们就会慢慢的切换到普…...

Prometheus监控实战系列十七:探针监控

目前对于应用程序的监控主要有两种方式&#xff0c;一种被称为白盒监控&#xff0c;它通过获取目标的内部信息指标&#xff0c;来监控目标的状态情况&#xff0c;我们前面介绍的主机监控、容器监控都属于此类监控。另一种则是“黑盒监控”&#xff0c;它指在程序外部通过探针的…...

题目:JPA的懒加载失效是什么情况?

题目&#xff1a;JPA的懒加载失效是什么情况&#xff1f;Q1&#xff1a;什么是JPA的懒加载&#xff1f;Q2&#xff1a;JPA的懒加载会在什么情况下失效&#xff1f;Q3&#xff1a;如何避免JPA的懒加载失效&#xff1f;前言&#xff1a;在使用JPA进行数据库操作时&#xff0c;懒加…...

十六、消息推送

一、什么是消息推送&#xff1f; 消息推送通常是指网站的运营工作等人员&#xff0c;通过某种工具对用户当前网页或移动设备 APP 进行的主动消息推送。 消息推送一般又分为 Web 端消息推送和移动端消息推送。 消息推送无非是推&#xff08;push&#xff09;和拉&#xff08;p…...

PMP项目管理-【第一章】引论

项目知识体系&#xff1a; 项目管理知识体系&#xff1a; 1.1 项目特性 独特性&#xff1a;独特性会带来不确定性(风险) 临时性&#xff1a;1> 任何项目都有起始终止时间 2> 项目具备临时性&#xff0c;项目成果可能是永久的 1.2 项目驱动变革 从商业角度来看&#xff0c…...

前端布局小案例,分享3个漂亮的卡片组件

当今互联网发展迅猛&#xff0c;各种应用、网站和软件层出不穷&#xff0c;其中前端技术的发展更是让人瞩目。随着用户对于界面设计的要求越来越高&#xff0c;漂亮的卡片组件在各类网页设计中变得越来越流行。本文将分享三个精美的卡片组件&#xff0c;帮助您在前端开发中轻松…...

博客重载记录

博客重载记录流控算法实现open系统调用流程二分查找前言&#xff1a; 有时候看了一些比较好的文章&#xff0c;过几天就忘了&#xff0c;想想不如自己实现一遍博客代码或按博客结构自己写一遍&#xff0c;加深印象&#xff0c;但把别人的内容改个名字变成自己的博客&#xff0c…...

open-cv绘制简单形状line() circle() rectangle() polylines() putText() cvtColor()

OpenCV彩色图像中一个像素是按照“B-G-R”模式组织的。 绘图函数的一些公众参数&#xff1a; img &#xff1a;图像对象 color&#xff1a; 颜色&#xff0c;如果彩色用一个三元组表示&#xff0c;三元组的元素按照B-G-R组织&#xff0c;三元组(0,255,0)中B为0&#xff0c;G为2…...

基于 PyTorch + LSTM 进行时间序列预测(附完整源码)

时间序列数据&#xff0c;顾名思义是一种随时间变化的数据类型。 例如&#xff0c;24小时内的温度、一个月内各种产品的价格、某家公司一年内的股票价格等。深度学习模型如长短期记忆网络&#xff08;LSTM&#xff09;能够捕捉时间序列数据中的模式&#xff0c;因此可以用于预…...

GEE页面介绍

目录一、背景二、用户界面三、数据类型&#xff1a;栅格1、请求图像集合2、学习查看栅格元数据3、矢量实例一&#xff1a;四、数据集五、数据属性1、空间分辨率2、时间分辨率六可视化多个波段1、真彩色(TCI)2彩色红外&#xff08;CI&#xff09;3、伪色 1 和 2 (FC1/FC2)七、可…...

python自动发送邮件,qq邮箱、网易邮箱自动发送和回复

在python中&#xff0c;我们可以用程序来实现向别人的邮箱自动发送一封邮件&#xff0c;甚至可以定时&#xff0c;如每天8点钟准时给某人发送一封邮件。今天&#xff0c;我们就来学习一下&#xff0c;如何向qq邮箱&#xff0c;网易邮箱等发送邮件。 一、获取邮箱的SMTP授权码。…...

hastcat

hashcat 下载地址: https://hashcat.net/hashcat/ 案例 Usage: hashcat [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]...https://xz.aliyun.com/t/4008破解linux shadow /etc/shadow中密码格式: $id$salt$encrypted如:$1$2eWq10AC$NaQqalCk3 1表…...

242. 一个简单的整数问题

Powered by:NEFU AB-IN Link 文章目录242. 一个简单的整数问题题意思路代码242. 一个简单的整数问题 题意 给定长度为 N的数列 A&#xff0c;然后输入 M行操作指令。 第一类指令形如 C l r d&#xff0c;表示把数列中第 l∼r个数都加 d 第二类指令形如 Q x&#xff0c;表示询问…...

docker安装Redis高可用(一主二从三哨兵)

本次教程使用docker swarm安装 准备三台机器 hostIP用途node1192.168.31.130redis-master01&#xff0c;redis哨兵节点01node2192.168.31.131redis-slave01, redis哨兵节点02node3192.168.31.132redis-slave02 redis哨兵节点02 注意事项&#xff1a; 1&#xff1a;需要保证三…...

安全防御之入侵检测篇

目录 1.什么是IDS&#xff1f; 2.IDS和防火墙有什么不同&#xff1f;3.IDS的工作原理&#xff1f; 4.IDS的主要检测方法有哪些&#xff1f;请详细说明 5.IDS的部署方式有哪些&#xff1f; 6.IDS的签名是什么意思&#xff1f;签名过滤器有什么用&#xff1f;例外签名的配置作…...

学习系统编程No.10【文件描述符】

引言&#xff1a; 北京时间&#xff1a;2023/3/25&#xff0c;昨天摆烂一天&#xff0c;今天再次坐牢7小时&#xff0c;难受尽在不言中&#xff0c;并且对于笔试题&#xff0c;还是非常的困难&#xff0c;可能是我做题不够多&#xff0c;也可能是没有好好的总结之前做过的一些…...

网络基础认识

目录 一、计算机网络背景 1.1 网络发展 1.2 "协议"由来 二、网络协议初识 2.1 协议分层 2.2 OSI七层模型 2.3 TCP/IP五层模型 三、网络协议栈 四、数据包封装与分用 五、网络传输基本流程 5.1 同局域网的两台主机通信 5.2 跨网络的两台主机通信 六、网络…...

【蓝桥杯_练习】

蓝桥杯1.创建工程2.LED灯点亮led.c3.LCD液晶屏显示lcd.c4.定时器按键单机interrupt.hinterrupt.cman.c5.定时器&#xff08;长按键&#xff09;interrupt.hinterrupt.cmain.c6.PWMmain.c7.定时器-输入捕获&#xff08;频率&#xff0c;占空比测量&#xff09;interrupt.cmain.c…...

【C语言蓝桥杯每日一题】——跑步锻炼

【C语言蓝桥杯每日一题】—— 跑步锻炼&#x1f60e;前言&#x1f64c;排序&#x1f64c;总结撒花&#x1f49e;&#x1f60e;博客昵称&#xff1a;博客小梦 &#x1f60a;最喜欢的座右铭&#xff1a;全神贯注的上吧&#xff01;&#xff01;&#xff01; &#x1f60a;作者简介…...

Apache Doris 4.0.4:解锁数据管理新境界

Apache Doris 4.0 作为重要里程碑发布后&#xff0c;社区通过 4.0.1 至 4.0.4 版本快速演进。如今 4.0.4 正式登场&#xff0c;功能更稳定可靠&#xff0c;引领其从实时分析迈向数据管理领域。面向 AI 工作负载的混合搜索能力检索成现代数据平台核心负载&#xff0c;Apache Dor…...

除了CAN总线,UDS协议还能跑在哪些车上?手把手带你用Wireshark抓包分析

突破CAN总线限制&#xff1a;UDS协议在多种车载网络中的实战解析 当提到UDS&#xff08;Unified Diagnostic Services&#xff09;诊断协议时&#xff0c;大多数工程师的第一反应是它与CAN总线的紧密关联。确实&#xff0c;在传统汽车电子架构中&#xff0c;UDS over CAN是最常…...

Hi-C数据分析进阶:如何用dcHiC精准识别癌症样本中的区室转换事件?

Hi-C技术解密&#xff1a;从染色质区室动态到癌症表观遗传调控 染色质三维结构研究已成为癌症表观遗传学的前沿领域。随着Hi-C技术的普及&#xff0c;科学家们能够以前所未有的分辨率观察基因组在细胞核内的空间组织形式。本文将深入探讨染色质区室&#xff08;A/B compartment…...

JDK 25模块路径在统信UOS/麒麟V10上启动失败?3步定位osgi-container冲突、jni.so符号缺失与jmod签名验签绕过方案

第一章&#xff1a;Java 25 模块化部署国产化适配方案Java 25 引入了更严格的模块系统约束与原生镜像增强能力&#xff0c;为在麒麟V10、统信UOS、openEuler等国产操作系统上实现轻量、安全、可验证的Java应用部署提供了新路径。适配核心聚焦于JVM层兼容性、模块图裁剪、国密算…...

从Netfilter到IPVS:深入解析Linux内核负载均衡的实现与配置

1. Linux内核网络框架与负载均衡基础 当你打开一个网页或使用手机APP时&#xff0c;后台可能有成百上千台服务器在协同工作。这些服务器如何高效分配流量&#xff1f;这就是负载均衡技术的用武之地。在Linux生态中&#xff0c;从Netfilter到IPVS的技术演进&#xff0c;为我们提…...

Carsim Tiretester保姆级教程:从零生成轮胎特性曲线(附完整Excel数据导入流程)

Carsim Tiretester保姆级教程&#xff1a;从零生成轮胎特性曲线&#xff08;附完整Excel数据导入流程&#xff09; 刚接触车辆动力学仿真的工程师或学生&#xff0c;常常会被轮胎特性曲线的生成过程困扰。轮胎作为车辆与地面唯一的接触点&#xff0c;其力学特性直接影响整车的操…...

CodeSys自定义HTML5控件:从零构建到工程实践

1. 为什么需要自定义HTML5控件&#xff1f; 在工业自动化领域&#xff0c;可视化监控是设备管理的重要环节。CodeSys作为主流的工业控制开发平台&#xff0c;其WebVisu功能虽然提供了基础控件库&#xff0c;但在实际项目中经常会遇到这样的尴尬&#xff1a;标准控件无法满足特定…...

LoRA训练助手效果展示:动漫风格迁移作品集

LoRA训练助手效果展示&#xff1a;动漫风格迁移作品集 1. 引言 你是否曾经想过&#xff0c;把自己拍摄的普通照片转换成新海诚风格的唯美画面&#xff0c;或者让日常场景拥有吉卜力工作室的梦幻质感&#xff1f;现在&#xff0c;这一切都不再是梦想。通过LoRA训练助手&#x…...

AI写的论文如何降到20%以内?分场景教程+工具对比

AI写的论文如何降到20%以内&#xff1f;分场景教程工具对比 “我用DeepSeek写了大半篇论文&#xff0c;导师要求知网AI率必须低于20%&#xff0c;现在已经是52%&#xff0c;我该怎么办&#xff1f;” 这是毕业季最典型的求助问题之一。 不同的情况&#xff0c;处理方法不一样。…...

CAN FD通信中,如何用AUTOSAR配置搞定TDC和SSP?一个80% Offset的实战案例

CAN FD通信中AUTOSAR配置实战&#xff1a;TDC与SSP的80% Offset实现 在汽车电子领域&#xff0c;CAN FD&#xff08;Controller Area Network Flexible Data-rate&#xff09;正逐步取代传统CAN总线&#xff0c;成为车载网络的主流选择。随着数据传输速率提升至2Mbps甚至更高&a…...