AMD FPGA设计优化宝典笔记(4)复位桥

高亚军老师的这本书《AMD FPGA设计优化宝典》,他主要讲了两个东西:
第一个东西是代码的良好风格;
第二个是设计收敛等的本质。

这个书的结构是一个总论,加上另外的9个优化,包含的有:时钟网络、组合逻辑、触发器、移位寄存器、存储器、乘加运算单元、状态机、扇出、布线拥塞。大部头的书看起来比较痛苦,我简化的方式,选择触发器一章入手,这个平时有点了解,也觉得看完会用上的概率大一些。这章是书的第4章,复位桥方面的内容,接前面的我的文章:

复位桥

把异步的复位变成同步的复位

1 多时钟域复位桥电路

每个时钟域都要有自己的复位信号,而且复位信号要与该时钟域的时钟同步。如下图所示,复位信号在进入每个时钟域前都先进行异步复位同步释放操作,使得复位信号和该时钟域的时钟同步。
在这里插入图片描述

2 代码部分

我把原书代码的system Verilog版本 变成Verilog版本,理解一下精髓。注意的是: 参数N要控制在8以内
(* ASYNC_REG = “TRUE” ) reg [N-1:0] bridge;**// ( ASYNC_REG = “TRUE” ) 布局时放置在同一个sclice的意思*
(* ASYNC_REG = “TRUE” *) reg [1:0] bridge_dly;
always@(posedge clk, posedge aset) begin
if(aset) begin
bridge <= ‘1;//所有位都赋值1
end else begin
bridge <= { bridge[N-2:0], 1’b0};//除了最高位之外的低N-1位,左移一位,最低位赋值0
end
end

always@(posedge clk) begin
bridge_dly[0] <= bridge[N-1];//bridge最高位赋值给bridge_dly的最低位
bridge_dly[1] <= bridge_dly[0];//bridge_dly的最高位是最低位延一拍, bridge_dly[1]也输出作为同步复位
end

这些代码的作用是将输入的异步复位信号aset展宽(aset是高电平有效)(aset原宽度为1,展宽的宽度是N),并将aset展宽后的信号同步到目标时钟(clk)下

3 改善布局

同步复位比较好,因为综合时工具可以根据控制集的要求将其搬移到数据路径上,对改善布局质量很有帮助。
同步复位受时钟控制,因此时钟可以过滤复位信号上的毛刺从而防止触发器误动作。异步复位不受时钟控制,没法过滤毛刺从而可能导致触发器误动作。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/466780.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

权限提升:利用Linux漏洞提权

目录 Linux权限基础 Linux用户权限 Linux文件权限 特殊的Linux文件权限 Linux本机信息收集 利用Linux漏洞进行提权 脏牛漏洞 pkexec Linux权限基础 Linux用户权限 在Linux中&#xff0c;根据权限的不同&#xff0c;大致可以分为三种&#xff1a;超级用户&#xff08;…

Netty应用——心跳检测机制案例(十七)

编写一个Netty心跳检测机制案例&#xff0c;当服务器超过3秒没有读时&#xff0c;就提示读空闲当服务器超过5秒没有写操作时&#xff0c;就提示写空闲实现当服务器超过 7秒没有读或者写操作时&#xff0c;就提示读写空闲 代码 IdleStateHandler说明 IdleStateHandler是netty提供…

Git分支和迭代流程

Git分支 feature分支&#xff1a;功能分支 dev分支&#xff1a;开发分支 test分支&#xff1a;测试分支 master分支&#xff1a;生产环境分支 hotfix分支&#xff1a;bug修复分支。从master拉取&#xff0c;修复并测试完成merge回master和dev。 某些团队可能还会有 reale…

单例模式:懒汉饿汉线程安全问题

在我们前几篇文章中都了解了一些关于线程的知识&#xff0c;那么在多线程的情况下如何创建单例模式&#xff0c;其中的线程安全问题如何解决&#xff1f; 目录 1.什么是单例模式&#xff1f; (饿汉模式) 2.单例模式(懒汉模式) *懒汉模式与懒汉模式的对比 *如何解决懒汉模式…

CVE-2022-25578 漏洞复现

CVE-2022-25578 路由/admin/admin.php是后台&#xff0c;登录账号和密码默认是admin、tao&#xff0c;选择文件管理。 是否还记得文件上传中的.htaccess配置文件绕过发&#xff0c;在这个文件中加入一句AddType application/x-httpd-php .jpg&#xff0c;将所有jpg文件当作php…

《SQLi-Labs》05. Less 29~37

title: 《SQLi-Labs》05. Less 29~37 date: 2024-01-17 22:49:10 updated: 2024-02-12 18:09:10 categories: WriteUp&#xff1a;Security-Lab excerpt: HTTP 参数污染&#xff0c;联合注入、宽字节注入。 comments: false tags: top_image: /images/backimg/SunsetClimbing.p…

2024年教师资格证认定报名完整流程

&#x1f49a;网上报名流程概览 一、进入教资认定网报入口&#xff1b; 二、进行实名核验&#xff1b; 三、申请网报时间查询&#xff1b; 四、个人信息维护&#xff1b; 五、认定申请报名&#xff1b; &#x1f49a;认定所需材料 1、 身份证&#xff1b; 2 、户口本/居住证…

LayoutInflater源码解析及常见相关报错分析

在日常Android开发中&#xff0c;最经常使用的RecyclerView控件是大家都绕不开的&#xff0c;而编写其Adapter时更离不开LayoutInflater的调用。当然&#xff0c;如果你做这一行有些时日了&#xff0c;相信你对其使用一定是炉火纯青了。即使如此&#xff0c;我觉得LayoutInflat…

【COMP337 LEC2】

Association Pattern Mining 关联模式挖掘 Special case: Frequent Pattern Mining (binary data sets) 频繁模式挖掘 Given data matrix, identify all subsets of columns ( features ) such that at least a fraction of rows (objects ) in the matrix have all the featur…

雨云裸金属服务器

雨云服务器与裸金属服务器&#xff1a;云端与实体的完美交融 随着信息技术的迅猛发展&#xff0c;云服务已经成为企业和个人数据处理与存储的重要选择。其中&#xff0c;雨云服务器和裸金属服务器作为两种截然不同的服务形式&#xff0c;各自拥有独特的优势和应用场景。本文将深…

Solidworks:从2D走向3D

Sokidworks 的强大之处在于三维实体建模&#xff0c;这个形状看似复杂&#xff0c;实际上只需要拉伸一次&#xff0c;再做一次减法拉伸就行了。第一次做三维模型&#xff0c;费了不少时间才搞明白。 接下来做一个稍微复杂一点的模型&#xff0c;和上面这个操作差不多&#xff0…

Hive SQL编译成MapReduce任务的过程

一、 Hive 底层执行架构 Hive是Facebook实现的一个开源的数据仓库工具。 Hive基于Hadoop实现&#xff0c;底层数据存放HDFS&#xff0c;计算&#xff08;查询&#xff09;使用MapReduce任务实现将结构化的数据文件映射为数据库表&#xff0c;并提供HQL查询功能&#xff0c;将HQ…