集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1748|回复: 2

【请教】Compile FIFO程序时有个错误 请大家帮我看看 谢谢了

[复制链接]
inter 发表于 2010-6-28 00:15:24 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2011-7-30 13:43 编辑

Compile FIFO程序时有个错误 请大家帮我看看 谢谢了# Compile of fifo failed with 1 errors.

请大家帮我看看 下面这个代码 哪里错误了 我是初学者实在看不出哪里错误了十分感谢大家了

`timescale 1 ns/100 ps
//#############################################
//# Behavioral description of FIFO with :
//# Active High write enable (WE)
//# Active High read enable (RE)
//# Active Low asynchronous clear (Aclr)
//# Rising clock edge (Clock)
//# Active High Full Flag
//# Active Low Empty Flag
//#############################################
module reg_fifo(Data, Q, Aclr, Clock, WE, RE,
FF, EF);
parameter width = 8;
parameter depth = 8;
parameter addr = 3;
input Clock, WE, RE, Aclr;
input [width-1:0] Data;
output FF, EF;//Full & Empty Flags
output [width-1:0] Q;
reg [width-1:0] Q;
reg [width-1:0] mem_data [depth-1:0];
reg [addr-1:0] WAddress, RAddress;
reg FF, EF;
// ############################################
// # Write Functional Section
// ############################################
// WRITE_ADDR_POINTER
[email=always@(posedge]always@(posedge[/email] Clock or negedge Aclr)
begin
if(!Aclr)
WAddress = #2 0;
else if (WE)
WAddress = #2 WAddress + 1;
end
// WRITE_REG
always @(posedge Clock)
begin
if(WE)
mem_data[WAddress] = Data;
end
//#############################################
//# Read Functional Section
//#############################################
// READ_ADDR_POINTER
[email=always@(posedge]always@(posedge[/email] Clock or negedge Aclr)
begin
if(!Aclr)
RAddress = #1 0;
else if (RE)
RAddress = #1 RAddress + 1;
end
// READ_REG
always @(posedge Clock)
begin
if(RE)
Q = mem_data[RAddress];
end
//#############################################
//# Full Flag Functional Section : Active high
//#############################################
[email=always@(posedge]always@(posedge[/email] Clock or negedge Aclr)
begin
if(!Aclr)
FF = #1 1'b0;
else if ( (WE & !RE) && ( (WAddress ==
RAddress-1) ||
( (WAddress == depth-1) && (RAddress ==
1'b0) ) ) )
FF = #1 1'b1;
else
FF = #1 1'b0;
end
//#############################################
//# Empty Flag Functional Section : Active low
//#############################################
[email=always@(posedge]always@(posedge[/email] Clock or negedge Aclr)
begin
if(!Aclr)
EF = #1 1'b0;
else if ( (!WE & RE) && ( (WAddress ==
RAddress+1) ||
( (RAddress == depth-1) && (WAddress ==
1'b0) ) ) )
EF = #1 1'b0;
else
EF = #1 1'b1;
end
endmodule
CHANG 发表于 2010-6-28 00:30:28 | 显示全部楼层
把错误的描述给出来吧,否则怎么找啊
Sunlife 发表于 2015-7-4 10:07:19 | 显示全部楼层

把错误的描述给出来吧,否则怎么找
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-6 16:43 , Processed in 0.060260 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表