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

无限循环 while (1) 可综合,但是不可仿真

// 无限循环:每个时钟周期执行一次,II=1
while (1) {
#pragma HLS PIPELINE II=1

axis_pkt_t out_pkt;

// 边沿检测
bool vsync_rise = (vsync_d1 == 0) && (vsync == 1);
bool de_rise = (de == 1) && (de_d1 == 0);
vsync_d1 = vsync;
de_d1 = de;

// vsync 上升沿处理
if (vsync_rise) {
sof = true;
pixel_cnt = 0;
}

// de 上升沿处理
if (de_rise) {
pixel_cnt = 0;
}

// 当 de 有效时,输出像素并更新计数
if (de == 1) {
out_pkt.data = in_data;
out_pkt.user = sof && (pixel_cnt == 0);
out_pkt.last = (pixel_cnt == (H_ACTIVE - 1));
output_stream.write(out_pkt);

if (sof && pixel_cnt == 0) sof = false;
pixel_cnt++;
}
// de 无效时,不输出数据,循环自动进入下一周期
}

上述代码设计,看似合理,实际上是存在问题的!

上述代码while(1)是死循环!

虽然可综合,但是c仿真和rtl仿真都是会出问题!

因为,这个无限循环是没有退出条件的,就类似无限递归;

用户可能想设计为free-run设计,free-run设计可不是while循环。

http://www.cnnetsun.cn/news/2218575.html

相关文章:

  • DS4Windows终极指南:3步让PS手柄在Windows上获得完美兼容性
  • SNP-sites:快速从多序列比对中提取SNP位点的终极指南
  • STM32F103C8T6的CAN总线配置,从CubeMX到代码调试,我踩过的那些坑
  • 告别配置混乱:用Python脚本自动化处理Autosar CAN通信的DBC与Excel信号表
  • 别再只写‘负责模块实施’了!用STAR法则量化你的ERP财务顾问项目经验
  • LLM安全评估框架NESSiE:原理、实现与应用
  • 终极KMS激活工具:一键永久激活Windows和Office全系列
  • 终极指南:如何用TQVaultAE为《泰坦之旅》打造无限仓库和智能物品管理
  • Java FFI性能实测对比:Panama vs JNI vs JNA,吞吐量提升217%的真相曝光
  • Python 绘图中文乱码快速搞定
  • 魔兽世界GSE宏编译器终极指南:告别复杂操作,实现一键智能连招
  • Windows 11终极瘦身指南:用Win11Debloat轻松告别系统臃肿
  • 如何在macOS上使用HSTracker免费提升炉石传说胜率:终极指南
  • KMS智能激活工具:Windows和Office永久激活终极指南
  • 创业团队如何通过taotoken低成本试用多种主流大模型
  • 别再死磕官方文档了!MuJoCo XML建模避坑指南:从`<compiler>`到`<geom>`的实战配置详解
  • NewTab Redirect终极指南:如何轻松自定义Chrome新标签页
  • PromptBridge:大语言模型提示工程的跨模型迁移解决方案
  • Godot-MCP:用AI对话创建游戏,5分钟开启智能开发新时代
  • Speechless:无需登录,5分钟掌握微博内容永久备份的完整方案
  • Harepacker-resurrected终极指南:解密MapleStory游戏资源编辑与地图创作
  • 别再死记硬背公式了!用Multisim仿真带你直观理解最大功率传输定理
  • 从‘无法访问’到‘轻松保存’:一个Android相册保存功能的重构实战(TargetSdkVersion 30+)
  • 华硕笔记本终极控制神器GHelper:免费轻量级性能优化完全指南
  • 观察taotoken在多地域访问下的路由优化与容灾表现
  • C++量子计算模拟框架深度对比(QPP、QCL、XACC三强实测报告)
  • MYC-YG2UL工业级SoM:异构计算与工业应用解析
  • 抖音批量下载完整指南:一键保存所有喜爱内容
  • 掌握Notepad--文件关联配置:打造你的专属文本编辑体验
  • 终极指南:如何用Firmware Extractor一键提取20+种Android固件格式