|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
在网上看了一下ROM的设计,大部分都是只有一个数据输出端口的形式。代码如下所示。
但是我的程序里面,一次需要用到ROM里面的四个数据,就是输入四个地址,得到四个输出数据。当然可以一次得到一个数据,用四个周期的时间。但是我希望最好能一个周期就得到四个数据。
请问高手有什么办法可以实现吗?先谢谢!
网上找到的ROM代码:
module v_rams_21a (clk, en, addr, data);
input clk;
input en;
input [4:0] addr;
output reg [3:0] data;
always @(posedge clk) begin
if (en)
case(addr)
5'b00000: data <= 4'b0010;
5'b00001: data <= 4'b0010;
5'b00010: data <= 4'b1110;
5'b00011: data <= 4'b0010;
5'b00100: data <= 4'b0100;
5'b00101: data <= 4'b1010;
5'b00110: data <= 4'b1100;
5'b00111: data <= 4'b0000;
5'b01000: data <= 4'b1010;
5'b01001: data <= 4'b0010;
5'b01010: data <= 4'b1110;
5'b01011: data <= 4'b0010;
5'b01100: data <= 4'b0100;
5'b01101: data <= 4'b1010;
5'b01110: data <= 4'b1100;
5'b01111: data <= 4'b0000;
5'b10000: data <= 4'b0010;
5'b10001: data <= 4'b0010;
5'b10010: data <= 4'b1110;
5'b10011: data <= 4'b0010;
5'b10100: data <= 4'b0100;
5'b10101: data <= 4'b1010;
5'b10110: data <= 4'b1100;
5'b10111: data <= 4'b0000;
5'b11000: data <= 4'b1010;
5'b11001: data <= 4'b0010;
5'b11010: data <= 4'b1110;
5'b11011: data <= 4'b0010;
5'b11100: data <= 4'b0100;
5'b11101: data <= 4'b1010;
5'b11110: data <= 4'b1100;
5'b11111: data <= 4'b0000;
endcase
end
endmodule |
|