Verilog 使用交换内存从寄存器读取和写入数据

Verilog 使用交换内存从寄存器读取和写入数据,verilog,Verilog,我正试图找到以下错误的解决方案: 假设有两个寄存器A和B分别具有内存地址Addr1和Addr2。当我们试图从寄存器A读/写时,它不会从A的相应地址ADDR1读/写,而是从B的地址ADDR2执行读/写操作。当我们试图从寄存器B读或写时,它从A的地址执行读/写操作,即,地址被交换为读/写操作。 除了这两个地址外,我们无法访问任何其他内容 什么样的逻辑或模式能够发现上述缺陷 请给出一些建议。感谢您重新表述这个问题,我对这个问题的理解是: 试图读写位置A实际上是在位置B上执行操作 试图在B上执行操作实际

我正试图找到以下错误的解决方案:

假设有两个寄存器A和B分别具有内存地址Addr1和Addr2。当我们试图从寄存器A读/写时,它不会从A的相应地址ADDR1读/写,而是从B的地址ADDR2执行读/写操作。当我们试图从寄存器B读或写时,它从A的地址执行读/写操作,即,地址被交换为读/写操作。 除了这两个地址外,我们无法访问任何其他内容

什么样的逻辑或模式能够发现上述缺陷


请给出一些建议。感谢您重新表述这个问题,我对这个问题的理解是:

试图读写位置A实际上是在位置B上执行操作

试图在B上执行操作实际上在A上执行

解决方案:

数据表或规范的地址位置错误


如果我从外部写入一个位置,并尝试从同一位置读取数据,我不确定这是一个错误。在内部,如果其他内容不一致,或者您没有使用2倍的内存,并且与数据表相比不存在不同的位置集,则可能会出现问题。

Uh?这是真的bug,还是训练你的人编造的东西?你自己曾试图解决什么问题?解释某人的错误要比解释整个解决方案容易得多。也许如果你发布你的代码,我们可能能帮助…?Mats Peterson:这是我的一个朋友被问到的面试问题之一。请彻底理解这个问题1.我可以向你保证,这并不像你现在所说的那么容易。如果你需要更多的澄清,我可以提供给你。我只是想知道如何解决这个错误/问题的逻辑。你想用c/c++或Verilog来做吗?我建议用逻辑分析仪来找出地址解码硬件的错误。