1 多时钟域的异步复位同步释放
当外部输入的复位信号只有一个,但是时钟域有多个时,使用每个时钟搭建自己的复位同步器即可,如下所示。
verilog代码如下:
module clock_reset( input rst_n, input aclk, input bclk, input cclk, output reg arst_n, output reg brst_n, output reg crst_n );
reg arst_n0,arst_n1;reg brst_n0,brst_n1;reg crst_n0,crst_n1;
always @(posedge aclk or negedge rst_n) if(rst_n==0) begin arst_n0《=1‘b1; arst_n1《=1’b0; arst_n《=1‘b0; end else begin arst_n《=arst_n1; arst_n1《=arst_n0; end always @(posedge bclk or negedge rst_n) if(rst_n==0) begin brst_n0《=1’b1; brst_n1《=1‘b0; brst_n《=1’b0; end else begin brst_n《=brst_n1; brst_n1《=brst_n0; end always @(posedge cclk or negedge rst_n) if(rst_n==0) begin crst_n0《=1‘b1; crst_n1《=1’b0; crst_n《=1‘b0; end else begin crst_n《=crst_n1; crst_n1《=crst_n0; end endmodule
2 多时钟域的按顺序复位释放
当多个时钟域之间对复位释放的时间有顺序要求时,将复位同步器级联起来就可以构成多个时钟域按顺序的复位释放(实际上就是延迟两拍)。
verilog代码:
module clock_reset( input rst_n, input aclk, input bclk, input cclk, output reg arst_n, output reg brst_n, output reg crst_n );
reg arst_n0,arst_n1;reg brst_n0,brst_n1;reg crst_n0,crst_n1;
always @(posedge aclk or negedge rst_n) if(rst_n==0) begin arst_n0《=1’b1; arst_n1《=1‘b0; arst_n《=1’b0; end else begin arst_n《=arst_n1; arst_n1《=arst_n0; end always @(posedge bclk or negedge rst_n) if(rst_n==0) begin brst_n1《=1‘b0; brst_n《=1’b0; end else begin brst_n《=brst_n1; brst_n1《=arst_n; end always @(posedge cclk or negedge rst_n) if(rst_n==0) begin crst_n1《=1‘b0; crst_n《=1’b0; end else begin crst_n《=crst_n1; crst_n1《=brst_n; end endmodule
原文标题:rtl设计- 多时钟域按顺序复位释放
文章出处:【微信公众号:fpga开源工作室】欢迎添加关注!文章转载请注明出处。
基于可编程霍尔芯片,适用于低带宽应用的微型电流传感器
制约锂负极可充性的本质因素有哪些?
谷歌Pixel 6a现身GeekBench跑分网站
什么是自耦变压器_自耦变压器的作用及主要特点
Hybo便携式自动驾驶设备具有激光雷达扫描功能
RTL中多时钟域的异步复位同步释放
彩电业绩整体持续低迷,OLED电视正成为高端市场主流
SKYLAB:WiFi+蓝牙组合模块,了解一下
破解TD-LTE与LTE FDD融合组网的四大难题
英特尔和A股的韭菜们一样,选择割肉了
带PFC的开关电源作用介绍 浅谈带PFC的开关电源性能特点
STM32的三种复位类型和区分方法
电子芯闻早报:台积电或独享苹果A10大单
USB Type-C将彻底解决用户面临连接梦靥
中微爱芯携触摸MCU系列相关应用亮相2023AWE
4大仪器公司投7000万在武汉“拼实验室”
锂热电池检测设备—纳米软件案例
STR50213引脚功能的电压资料参数
普冉半导体科创板上市 十铨科技首创解决双热源的T-FORCE SIREN系列
国内机器视觉产业链全解析