跨时钟域的寄存器访问
来源:互联网 发布:中国对外援助知乎 编辑:程序博客网 时间:2024/05/22 02:01
在verilog中,如果对于一个寄存器可能同时有两个时钟clk对其进行操作,为了防止读写冲突,需要做如下简单处理
clk_f( fast时钟)和clk_s(slow时钟)
clk_s对寄存器time_cnt进行写操作,
clk_f对寄存器time_cnt进行读操作,
所以当clk_f边沿读取time_cnt的值得时候,time_cnt可能正是clk_s对寄存器写的时候,从而造成clk_f读错误
如下处理
reg time_cnt1,time_cnt2;
always @(posedge clk_f)
begin
time_cnt1<=time_cnt;
time_cnt2<=time_cnt;
end
always @(posedge clk_f)
if(time_cnt1==time_cnt2)
time_cnt_f<=time_cnt1;
else
time_cnt_f<=time_cnt_f;
time_cnt_f为最终读取的时间值
0 0
- 跨时钟域的寄存器访问
- 跨时钟域的寄存器访问
- 时钟设置的关键性寄存器
- 外设寄存器的访问
- 嵌入式Linux:系统时钟的寄存器
- 西门子300中时钟寄存器的使用
- 4.S5PV210时钟设置的关键寄存器
- 访问CP15寄存器的指令
- 访问CP15寄存器的指令
- 访问硬件寄存器的位域值
- 访问CP15寄存器的指令
- 访问外部设备寄存器的方法
- 访问pci寄存器的方法
- 采用位域结构体的形式访问寄存器
- 6410的系统时钟设置(中)---相关寄存器介绍
- ARM11访问芯片内部的寄存器空间
- 【Ubuntu】Vim不能访问"+寄存器的解决方法
- arm CPSR/SPSR寄存器的访问、修改
- 网络传输流量控制策略小结
- MATLAB下的程序调试
- eclipse 搭建Struts
- 开始写博客
- 在arcgis的help中学习方法
- 跨时钟域的寄存器访问
- Wikilo 1191线段树区间修改单点查询
- 黑马程序员---指针函数 函数指针 指针数组 解析
- ubuntu 安装 openssh-server 直接使用SecureCRT作为ubuntu的远程终端
- C语言之路
- poj3744之矩阵快速幂+概率DP
- operator——内置操作符的函数接口
- SVN基本介绍
- Java学习笔记_6_数组的排序和查找