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

软件技术的就业方向泉州seo优化

软件技术的就业方向,泉州seo优化,云电脑永久免费版,提供网站建设运营公司资质Pulse Synchronization 脉冲同步(Pulse Synchronization)是 FPGA 设计中处理跨时钟域信号传输的常见问题和关键细节。由于不同步的时钟域之间可能存在相位差或频率差异,可能会导致亚稳态问题或数据丢失。脉冲同步的主要目标是确保一个时钟域中…

Pulse Synchronization

在这里插入图片描述

  • 脉冲同步(Pulse Synchronization)是 FPGA 设计中处理跨时钟域信号传输的常见问题和关键细节。
  • 由于不同步的时钟域之间可能存在相位差或频率差异,可能会导致亚稳态问题或数据丢失。
  • 脉冲同步的主要目标是确保一个时钟域中的脉冲信号能够在另一个时钟域安全接收。

脉冲同步代码实现

module nocdc (input wire clk_src,      // 源时钟域时钟(快时钟)input wire clk_dst,      // 目标时钟域时钟(慢时钟)input wire rst_n,        // 异步复位信号(低电平有效)input wire pulse_in,     // 源时钟域输入脉冲output reg pulse_out     // 目标时钟域输出脉冲
);// 在源时钟域中对脉冲进行展宽reg pulse_in_sync;always @(posedge clk_src or negedge rst_n) beginif (!rst_n)pulse_in_sync <= 0;elsepulse_in_sync <= pulse_in ^ pulse_in_sync; // 展宽脉冲end// 双触发同步reg sync_ff1;reg sync_ff2;always @(posedge clk_dst or negedge rst_n) beginif (!rst_n)beginsync_ff1 <= 0;sync_ff2 <= 0;endelse beginsync_ff1 <= pulse_in_sync;// 第一级同步触发器sync_ff2 <= sync_ff1;     // 第二级同步触发器endend// 边沿检测reg sync_ff3;always @(posedge clk_dst or negedge rst_n) beginif (!rst_n)sync_ff3 <= 0;elsesync_ff3 <= sync_ff2;end// 输出脉冲always @(posedge clk_dst or negedge rst_n) beginif (!rst_n)pulse_out <= 0;elsepulse_out <= sync_ff3 ^ sync_ff2;endendmodule

.vt 激励文件

`timescale 1 ps/ 1 psmodule nocdc_vlg_tst;// 输入信号reg clk_src;          // 源时钟域时钟reg clk_dst;          // 目标时钟域时钟reg rst_n;            // 异步复位信号(低电平有效)reg pulse_in;         // 源时钟域输入脉冲// 输出信号wire pulse_out;       // 目标时钟域输出脉冲// 实例化被测模块nocdc uut (.clk_src(clk_src),.clk_dst(clk_dst),.rst_n(rst_n),.pulse_in(pulse_in),.pulse_out(pulse_out));// 时钟生成:源时钟域时钟initial beginclk_src = 0;forever #5 clk_src = ~clk_src; // 100MHz (周期为 10ns)end// 时钟生成:目标时钟域时钟initial beginclk_dst = 0;forever #8 clk_dst = ~clk_dst; // 62.5MHz (周期为 16ns)end// 测试过程initial begin// 初始化信号rst_n = 0;          // 复位信号初始为低电平pulse_in = 0;       // 输入脉冲初始为低电平#20;rst_n = 1;          // 释放复位信号// 等待一段时间观察输出#50;// 测试用例 2:连续多个脉冲#30;pulse_in = 1;       // 第一个脉冲#10;pulse_in = 0;#50;pulse_in = 1;       // 第二个脉冲#10;pulse_in = 0;// 等待一段时间观察输出#100;// 结束仿真$stop;endendmodule

CG

  • 如果输入脉冲过于窄(小于源时钟周期),可能会导致展宽失败。

  • 单个脉冲也能进行展宽
    在这里插入图片描述

  • 还可以根据需求选择上升沿或下降沿

module nocdc (input wire clk_src,      // 源时钟域时钟(快时钟)input wire clk_dst,      // 目标时钟域时钟(慢时钟)input wire rst_n,        // 异步复位信号(低电平有效)input wire pulse_in,     // 源时钟域输入脉冲output reg pulse_out     // 目标时钟域输出脉冲
);// 在源时钟域中对脉冲进行展宽reg pulse_in_sync;always @(posedge clk_src or negedge rst_n) beginif (!rst_n)pulse_in_sync <= 0;elsepulse_in_sync <= pulse_in ^ pulse_in_sync; // 展宽脉冲end// 双触发同步reg sync_ff1;reg sync_ff2;always @(posedge clk_dst or negedge rst_n) beginif (!rst_n)beginsync_ff1 <= 0;sync_ff2 <= 0;endelse beginsync_ff1 <= pulse_in_sync;// 第一级同步触发器sync_ff2 <= sync_ff1;     // 第二级同步触发器endend// 边沿检测reg sync_ff3;always @(posedge clk_dst or negedge rst_n) beginif (!rst_n)sync_ff3 <= 0;elsesync_ff3 <= sync_ff2;endwire sync_rise_edge = ~sync_ff2 & sync_ff3; // 上升沿检测wire sync_fall_edge = sync_ff2 & ~sync_ff3; // 下降沿检测// 输出脉冲always @(posedge clk_dst or negedge rst_n) beginif (!rst_n)pulse_out <= 0;elsepulse_out <= sync_rise_edge; // 还可以根据需求选择上升沿或下降沿endendmodule
http://www.cadmedia.cn/news/9028.html

相关文章:

  • 德阳市建设局网站关键词挖掘站长工具
  • 网站后台用什么做服务器南阳本地网络推广优化公司
  • wordpress 36氪主题广州seo推广优化
  • 贵阳市住房和城乡建设部网站世界军事新闻
  • 宁夏自治区住房与城乡建设厅网站外链seo
  • 山东军辉建设集团有限公司 公司网站网址百度排名优化软件
  • 社区居委会网站建设wp博客seo插件
  • 营销类图片整站seo怎么做
  • 洞头区网站建设收费百度竞价点击工具
  • 广告设计与制作专业技能南宁seo多少钱报价
  • 百度网站关键词百度西安
  • 上海市官方网站营销策略方案
  • 济南城乡建设官方网站网站提交工具
  • 重庆最新情况 最新消息前端seo怎么优化
  • 江苏建设工程网站seo核心技术排名
  • vs2017 网站开发环境网页搜索优化
  • 企业网站建设中存在的问题分析百度地图关键词优化
  • 关于政府网站建设工作讲话北京seo薪资
  • 昆明网站推广公司可以免费打开网站的软件下载
  • web网站开发用什么语言免费建自己的网址
  • 湖南专业竞价优化服务成都seo优化公司排名
  • 菏泽市建设银行网站获客渠道找精准客户
  • 格力网站建设首页seo 的作用和意义
  • 兰州网站建设q.479185700惠四川成都最新消息
  • 做58网站怎么赚钱网络市场的四大特点
  • 坛墨网站建设百度seo白皮书
  • 首码项目网发布平台抖音视频seo霸屏
  • 开个网站建设公司多少钱小程序平台
  • 商丘网站制作新能源汽车公司
  • 网站规划设计的步骤企业网站管理系统