VHDL多事件聚合进程代码在Xilinx ISE 14.7中是否可行?
关于双时钟触发Process的综合问题及多事件聚合实现建议
首先明确:你写的这种在同一个Process里用两个时钟上升沿触发的代码,不适合在Xilinx ISE 14.7中实现多事件聚合,原因如下:
- 从硬件逻辑本质来说,不存在能同时响应两个独立时钟上升沿的触发器,这种写法违背了同步设计的基本范式,综合工具无法映射到实际可用的硬件结构。
- Xilinx ISE 14.7的综合引擎XST并不支持这种非标准写法,大概率会出现综合报错,或者综合出不符合预期的电路(比如忽略其中一个时钟的触发逻辑)。你在UG626里找不到相关指引,就是因为这种写法属于官方不推荐、不支持的用法,不在规范的综合范围内。
如果需要实现多时钟事件的聚合处理,正确的做法是:
- 把每个时钟对应的逻辑拆分到独立的Process中,各自对应自己的时钟触发条件;
- 如果涉及跨时钟域处理,必须加入同步器(比如两级触发器)避免亚稳态问题,再进行后续的事件聚合逻辑设计。
内容的提问来源于stack exchange,提问作者Khánh Lợi
相关产品推荐
相关产品推荐

