atom100 发表于 2014-9-20 21:09:06

多个输入端口共享一个存储器,如何处理好 ?

本帖最后由 atom100 于 2014-9-21 16:33 编辑

请教,多个输入端口共享一个存储器,如何处理好 ?
moduleinput_port(
                input      clk,
                input      rst_n,       
                input         port1_data,
                input         port1_addr,

                input      port2_data,
                input         port2_addr,

                input         port3_data,
                input         port3_addr

                output       ram_data,
                output         ram_addr,
                     

                        )
三个端口共享一个ram存储器,用下面的方法是否可行 ?
always @(poseedge clk or negedge rst_n)
                if(条件1)
                        begin
                                ram_data <=port1_data;
                                ram_add r<= port1_addr;
                        end
               else if(条件2)
                        begin
                                ram_data <=port2_data;
                                ram_add r<= port2_addr;
                        end
                else if(条件3)
                        begin
                                ram_data <=port3_data;
                                ram_add r<= port3_addr;
                        end

像上面这样处理是否好用 ??


lanliang714 发表于 2014-9-21 14:22:05

可以,为什么要这么用呢?

zkf0100007 发表于 2014-9-21 15:06:48

可以的,条件互斥,处理好三态,不要数据冲突

atom100 发表于 2014-9-21 16:32:11

lanliang714 发表于 2014-9-21 14:22
可以,为什么要这么用呢?

没有想到 其他好办法,你用办法的 ?

atom100 发表于 2014-9-21 16:40:08

zkf0100007 发表于 2014-9-21 15:06
可以的,条件互斥,处理好三态,不要数据冲突

请问 处理好三态是什么意思?
port1_data,
port1_addr;

port2_data,
port2_addr

port3_data,
port3_addr

是输入,没法三态啊?

zkf0100007 发表于 2014-9-21 19:29:33

atom100 发表于 2014-9-21 16:40
请问 处理好三态是什么意思?
port1_data,
port1_addr;


如果都是输入,那就没问题,互斥就行

rayman_ppx 发表于 2014-9-21 22:21:58

加一个多路选择器就可以了。

atom100 发表于 2014-9-21 22:41:12

rayman_ppx 发表于 2014-9-21 22:21
加一个多路选择器就可以了。

quartus ii 里的 megawizard里有 多路选择器吗 ?在哪个目录下,没找到呢

loveskangaroo 发表于 2014-9-21 22:49:32

双口ram?加上仲裁?

loveskangaroo 发表于 2014-9-21 22:50:00

双口ram?加上仲裁?

loveskangaroo 发表于 2014-9-21 22:50:25

双口ram?加上仲裁?

atom100 发表于 2014-9-21 22:52:40

不是,我用 外挂 sdram的,想用5个端口分时共享一个sdram存储器

步之道 发表于 2014-9-21 22:53:59

不明白,楼主是想这个ram_data能够存储Port1-3中的任意一个数据吗?

atom100 发表于 2014-9-22 00:19:11

本帖最后由 atom100 于 2014-9-22 00:20 编辑

嗯,是想这样,不过sdram 是bank的 ,某bank 存port1,另一个 bank存port2 。。。

atom100 发表于 2014-9-22 00:19:42

本帖最后由 atom100 于 2014-9-22 00:20 编辑

步之道 发表于 2014-9-21 22:53
不明白,楼主是想这个ram_data能够存储Port1-3中的任意一个数据吗?


或者是分地址区间
嗯,是想这样,不过sdram 是分区的 ,某个地址区间 存port1,另一个 地址区间存port2 。。。
页: [1]
查看完整版本: 多个输入端口共享一个存储器,如何处理好 ?