Verilog 将信号添加到灵敏度列表合成到缓冲区?

Verilog 将信号添加到灵敏度列表合成到缓冲区?,verilog,fpga,xilinx,hdl,vivado,Verilog,Fpga,Xilinx,Hdl,Vivado,我正在用Verilog写一个简单的D触发器,看看它合成了什么。以下是我所拥有的: 模块d_触发器 输入d, 输入clr, 输入时钟, 输入ce, 输出寄存器q ; 始终@posedge clk begin:d_触发器 如果clr开始 q您可能会将合成工具与该构造混淆,因为这不是一件正常的事情。FPGA中没有直接支持这一点的东西,我甚至怀疑它是否可以合成 另一方面,如果在敏感度列表中将ce更改为clr,则应该使用clr获得一个寄存器作为异步重置,因为这是为Xilinx编写该寄存器的正常方法 我试

我正在用Verilog写一个简单的D触发器,看看它合成了什么。以下是我所拥有的:

模块d_触发器 输入d, 输入clr, 输入时钟, 输入ce, 输出寄存器q ; 始终@posedge clk begin:d_触发器 如果clr开始
q您可能会将合成工具与该构造混淆,因为这不是一件正常的事情。FPGA中没有直接支持这一点的东西,我甚至怀疑它是否可以合成

另一方面,如果在敏感度列表中将ce更改为clr,则应该使用clr获得一个寄存器作为异步重置,因为这是为Xilinx编写该寄存器的正常方法


我试着用Vivado合成它,但得到了一个奇怪的警告,毫无意义。它可能非常接近异步重置模板,不会直接出错,但最终不可合成,因此最终输出连接到GND。

您可能会将合成工具与该构造混淆,因为这不是正常的操作。FPGA中没有直接支持这一点的东西,我甚至怀疑它是否可以合成

另一方面,如果在敏感度列表中将ce更改为clr,则应该使用clr获得一个寄存器作为异步重置,因为这是为Xilinx编写该寄存器的正常方法


我试着用Vivado合成它,但得到了一个奇怪的警告,毫无意义。它可能非常接近异步重置模板,不会直接出错,但最终不可合成,因此最终输出连接到GND。

是否有特定的目标,或者您只是好奇为什么会发生这种情况?对于第二个示例,您从合成工具中得到了哪些警告?当您将文件合成为FPGA顶部文件时,会放置缓冲区。I/O引脚具有IO缓冲区,因此在示意图中放置/显示了相同的缓冲区。这可以通过在脱离上下文的模式下合成来避免。@Serge有一条警告说:[Synth 8-3331]设计d_触发器的端口未连接ce@JustinN我的理解是,这不应该发生。第二个综合显然不是verilog所说的。我想知道发生了什么事?这是一个合成问题,Vivado问题,veriolog问题,一个bug???等等。你是否有什么具体的事情想要完成,或者你只是好奇为什么会发生?第二个例子中,你从合成工具中得到了哪些警告?当你将一个文件合成为FPGA顶部文件时,会放置缓冲区。I/O引脚具有IO缓冲区,因此在示意图中放置/显示了相同的缓冲区。这可以通过在脱离上下文的模式下合成来避免。@Serge有一条警告说:[Synth 8-3331]设计d_触发器的端口未连接ce@JustinN我的理解是,这不应该发生。第二个综合显然不是verilog所说的。我想知道发生了什么事?这是一个综合问题,Vivado问题,veriolog问题,一个bug??,等等。