韩国网站 后缀佛山seo
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:57
当前位置: 首页 > news >正文
韩国网站 后缀,佛山seo,泰安最新通告今天,怎么做坑人的网站软件版本#xff1a;无 操作系统#xff1a;WIN10 64bit 硬件平台#xff1a;适用所有系列FPGA 板卡获取平台#xff1a;https://milianke.tmall.com/ 登录“米联客”FPGA社区 http://www.uisrc.com 视频课程、答疑解惑#xff01; 1概述 本小节主要讲解Verilog语法的…软件版本无 操作系统WIN10 64bit 硬件平台适用所有系列FPGA 板卡获取平台https://milianke.tmall.com/ 登录“米联客”FPGA社区 http://www.uisrc.com 视频课程、答疑解惑 1概述 本小节主要讲解Verilog语法的跨时钟域设计需要掌握跨时钟域时快慢时钟之间信号是如何同步的。 2跨时钟域慢速到快速时钟 由慢时钟到快时钟的信号传递就传输的信号位宽一般分为两种单比特信号和多比特信号。下面我们分开进行讨论。 2.1 单比特信号 上一节课同步异步设计有提到慢时钟到快时钟的设计方法一般分析快时钟域的信号总能采集到慢时钟域的信号但是如果存在异步时钟域可能会导致采样数据出错因此需要进行时钟同步处理。同步处理针对单比特信号采取打三拍进行同步。 异步时钟域的信号从一个时钟域进入另一个时钟域之前将该信号用三级触发器缓存两次可有效降低因为时序而导致的亚稳态问题。例 module async_data(input clk_1, //输入时钟clk_1input data_1, //输入数据data_1input clk_2, //输入时钟clk_2 output data_2 //输出数据data_2);reg [2:0] data_ff ; //寄存器变量data_ffalways (posedge clk_2) //clk_2敏感posedge上升沿触发begin data_ff {data_ff[1:0], data_1}; //data_1数据采样End //data_ff[0]表示最新采样的数据!data_ff[1]为上一个时钟周期采样的数据assign data_2 !data_ff[2] data_ff[1]; //最新的电平为1之前的电平为0判断为上升沿检测 clk_1为慢时钟clk_2为快时钟将data_1在快时钟域进行三拍缓存检测信号的上升沿此时将信号进行了同步化。 2.2多比特信号 对于多比特信号的传输我们要考虑两种情况即单时钟周期突发信号和多时钟周期连续信号的传输。 针对单时钟周期突发信号我们可以采用利用打拍法延迟采样。例 module async_data_1(input clk_1, //输入时钟clk_1input [7:0] data_in, //输入数据data_1input din_en, //输入突发信号input clk_2, //输入时钟clk_2output reg[7:0] data_out, //输出数据dataoutput reg dout_en //输出突发数据有效信号);reg [2:0] din_en_ff ;wire din_en_pos;always (posedge clk_2 )begindin_en_ff {din_en_ff[1:0], din_en} ; //输入突发信号打拍缓存2拍endassign din_en_pos !din_en_ff[2] din_en_ff[1] ; //din_en_ff[1]为新缓存的信号为1时有效din_en_ff[2]为上一拍缓存的信号//为0时有效所以din_en_pos为捕捉 din_en信号上升沿always (posedge clk_2)beginif (din_en_pos)data_out din ; //din_en_pos信号拉高说明数据有效将输入数据输出else;endalways (posedge clk_2 )begindout_en din_en_pos ; //输出突发数据有效信号为din_en_pos信号endendmodule 针对多时钟周期连续信号我们可以采用检测慢时钟的边沿进行采样。如果两个时钟的频率相差较小可能还需要对数据进行延迟缓存以保证采集到的是当拍时钟的数据如果两个时钟的频率相差较大数据采样时刻可以通过计数的方法获得而不用对数据进行缓存。例 module async_data_2(input clk_1,input [7:0] data_in,input din_en,input clk_2,output reg[7:0] data_out,output reg dout_en);reg [3:0] din_en_ff ;wire din_edge_pos;reg [3:0] cnt ;always (posedge clk_2 )begindin_en_ff {din_en_ff[2:0], clk_1} ;endassign din_edge_pos !din_en_ff[2] din_en_ff[1] ;always (posedge clk_2) //clk_2为驱动时钟进行计数if (din_edge_pos din_en) //din_edge_pos信号为捕捉到上升沿且din_en信号持续拉高cnt 4h0 ;else if (cnt ! 4hf) //计数值为4hfcnt cnt 1b1 ;endalways (posedge clk_2) //clk_2为驱动时钟beginif (din_en cnt 7) //din_en信号持续拉高并且完成7次计数时确认数据有效data_out din ; //数据完成赋值else;endalways (posedge clk_2 )beginif(din_en cnt 8) //din_en信号持续拉高并且完成8次计数时确认数据有效dout_en 1 ; //输出突发数据有效信号进行拉高elsedout_en 0;endendmodule 3跨时钟域快速到慢速时钟 由快时钟到慢时钟的信号传递就传输的信号位宽一般分为两种单比特信号和多比特信号。下面我们分开进行讨论。 3.1 单比特信号 由快时钟到慢时钟的单比特信号传递我们需要考虑信号本身是单时钟周期的脉冲信号还是连续多个周期的电平信号。针对单时钟周期的脉冲信号最好的传送方法是握手法假设单时钟周期脉冲信号的高电平为有效信号其基本原理如下。 (1) 快时钟域对脉冲信号进行检测检测有高电平时输出一个高电平信号。快时钟域输出高电平信号时保持输出信号为高电平状态。 (2) 慢时钟域对快时钟域的检测信号进行延迟打拍采样。因为此时的脉冲信号被快时钟域保持拉高状态延迟打拍会采集到该信号。 (3) 慢时钟域确认采样得到高电平检测信号后再反馈信号给快时钟域。 (4) 快时钟域对反馈信号进行延迟打拍采样。如果检测到反馈信号为高电平证明慢时钟域已经接收到有效的高电平信号。如果此时快时钟域自身逻辑不再要求脉冲信号为高电平状态拉低快时钟域的脉冲信号即可。 此方法是通过相互握手的方式对窄脉冲信号进行脉宽扩展。例 module pulse_fast_2_slow(input rst_n, //复位信号input clk_fast, //快时钟input pulse_fast, //快时钟握手信号input clk_slow, //慢时钟output pulse_slow //慢时钟握手信号);wire clear_up ;reg pulse_fast_detect ;reg [1:0] pulse_fast_detect_ff ;reg [1:0] pulse_slow_2_fast ;always(posedge clk_fast or negedge rst_n)beginif (!rst_n)pulse_fast_detect 1b0 ; //pulse_fast_detect拉低复位else if (clear_up)pulse_fast_detect 1b0 ; //pulse_fast_detect拉低复位else if (pulse_fast) //在快时钟域中对快时钟握手信号进行抓取pulse_fast_detect 1b1 ; //信号抓取后将 pulse_fast_detect持续拉高可能为多个时钟周期方便慢时钟域捕捉endalways(posedge clk_slow or negedge rst_n)beginif (!rst_n)pulse_fast_detect_ff 3b0 ; //缓存三拍清零elsepulse_fast_detect_ff {pulse_fast_detect_ff[0], pulse_fast_detect} ; //在慢时钟域中对pulse_fast_detect信号进行抓取End //不要求一翻转立刻捕捉到只要求延时捕捉assign pulse_slow pulse_fast_detect_ff[1] ; //取中间一拍进行输出给快时钟域always(posedge clk_fast or negedge rst_n)beginif (!rst_n)pulse_slow_2_fast 1b0 ;elsepulse_slow_2_fast {pulse_slow_2_fast[0], pulse_slow}; //快时钟域对慢时钟握手信号进行捕捉endassign clear_up !pulse_fast pulse_slow_2_fast[1]; //捕捉到回应将 pulse_fast_detect拉低endmodule 3.2 多比特信号 当多位宽数据进行同步时如果数据变化速率过快就不能再使用延迟打拍采样的方法。因为此时数据各 bit 位变化的时间参差不齐用异步时钟进行打拍采样可能会采集到因路径延迟不同而导致的错误数据。解决此类异步问题的常用方法是采用异步 FIFO (First In First Out)进行数据的交换。异步FIFO在后面的一节课专门介绍。
- 上一篇: 韩国平面设计网站东莞想做网站
- 下一篇: 韩国网站空间推荐企业网站建设犇类建筑
相关文章
-
韩国平面设计网站东莞想做网站
韩国平面设计网站东莞想做网站
- 技术栈
- 2026年03月21日
-
韩国男女做那个视频网站建设一个招聘网站大概多少费用
韩国男女做那个视频网站建设一个招聘网站大概多少费用
- 技术栈
- 2026年03月21日
-
韩国购物网站模板php 商务网站开发实战
韩国购物网站模板php 商务网站开发实战
- 技术栈
- 2026年03月21日
-
韩国网站空间推荐企业网站建设犇类建筑
韩国网站空间推荐企业网站建设犇类建筑
- 技术栈
- 2026年03月21日
-
韩国网站源码下载深圳网站建设案例
韩国网站源码下载深圳网站建设案例
- 技术栈
- 2026年03月21日
-
韩国做 mp4下载网站网站主体变更
韩国做 mp4下载网站网站主体变更
- 技术栈
- 2026年03月21日
