[Synth 8-1852] concurrent assignment to a non-net dout10 is not permitted [C:/Users/17971/clock.srcs/sources_1/new/clock.v:59]
时间: 2023-12-23 13:05:54 浏览: 83
这个错误通常表示您在代码中出现了非法的并行赋值。在Verilog HDL语言中,每个并行块只能对一个寄存器或线网进行赋值。如果您尝试对非线网(例如、reg变量)进行并行赋值,将会提示该错误。
在您的代码中,错误提示指出在第59行对非线网变量dout10进行了并行赋值。这可能是因为您在同一个始终块中使用了多个assign语句,对dout10进行了多次赋值。或者您在始终块中使用了多个always语句,每个语句都试图对同一个非线网变量进行赋值。
要解决这个错误,您需要检查代码中的始终块,确保每个始终块只对一个寄存器或线网进行赋值。如果您需要对同一个变量进行多次赋值,则需要使用顺序块或者条件块。如果您使用了多个始终块,则需要确保它们之间没有重叠的赋值语句。
相关问题
[Synth 8-2576] procedural assignment to a non-register F is not permitted ["C:/Users/24932/Desktop/FPGA_A7/0-1text/vivado_project/text.srcs/sources_1/new/text.v":31]
回答: 错误信息"\[Synth 8-2576\] procedural assignment to a non-register F is not permitted"表示在代码的第31行,对一个非寄存器类型的信号F进行了过程赋值操作,这是不允许的。\[3\]根据引用\[3\]中的介绍,过程赋值使用的是非阻塞赋值"<= ",而非阻塞赋值只能用于时序逻辑中,对于组合逻辑应使用阻塞赋值"= "。因此,你需要检查代码中的第31行,确保对信号F使用的是阻塞赋值而不是非阻塞赋值。此外,还需要确保信号F的类型是寄存器类型(reg)而不是线类型(wire)。如果信号F的类型是wire类型,你需要将其更改为reg类型,例如使用"output reg F"来定义信号F。这样做可以解决这个错误。
#### 引用[.reference_title]
- *1* [FPGA-在ISE中错误总结(更新中)](https://blog.csdn.net/weixin_41445387/article/details/82873414)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [vivado报错:procedural assignment to a non-register result is not permitted](https://blog.csdn.net/lanzhishao/article/details/123728948)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
[Synth 8-2576] procedural assignment to a non-register zynq_out is not permitted ["C:/vivado_project/CH367_PCIE_trans/CH367_PCIE_trans.srcs/sources_1/new/CH367_PCIE_trans.v":81]
这个错误提示是因为你在尝试将一个非寄存器类型的变量 `zynq_out` 进行过程赋值操作,但是这是不被支持的。过程赋值操作只能用于寄存器类型的变量。你需要将 `zynq_out` 定义为寄存器类型,或者使用 assign 语句来对其进行赋值。具体操作方法取决于你的设计需求,你需要检查代码并找出正确的解决方法。如果你还需要进一步帮助,请贴出相关代码片段让我来帮你分析。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)