[問題]請問Synthesis的問題

看板Electronics作者 (俺式最終天堂!!)時間16年前 (2008/04/19 19:59), 編輯推噓3(304)
留言7則, 2人參與, 最新討論串1/1
這是我的VERILOG CODE ================================================================= module FIFO( Data_out, Data_in, stack_empty, stack_full, clk, rst, write_to_stack, read_from_stack ); parameter stack_width = 12; parameter stack_height = 8; parameter stack_ptr_width = 3; output [stack_width -1:0] Data_out; output stack_empty,stack_full; input [stack_width -1:0] Data_in; input clk,rst; input write_to_stack, read_from_stack; reg [stack_ptr_width -1:0] read_ptr,write_ptr; reg [stack_ptr_width:0] ptr_diff; reg [stack_width-1:0] Data_out; reg [stack_width-1:0] stack[stack_height-1:0]; assign stack_empty = (ptr_diff == 0)? 1'b1:1'b0; assign stack_full=(ptr_diff == stack_height)? 1 'b1:1'b0; always@(posedge clk or posedge rst) begin:data_transfer if(rst)Data_out=0; else if((read_from_stack) && (!write_to_stack) && (!stack_empty)) Data_out <= stack [read_ptr]; (Cannot mix blocking and non blocking assignments on signal <Data_out>.) 不知為何錯誤的訊息,指在上面Data_out那一行.... else if((write_to_stack)&&(!read_from_stack)&&(!stack_full)) stack [write_ptr] <= Data_in; end always@(posedge clk or posedge rst) begin:update_stack_ptrs if(rst) read_ptr <=0; write_ptr <=0; ptr_diff <=0; end else if((write_to_stack)&&(!stack_full)&&(!read_from_stack)) begin write_ptr <= write_ptr +1; ptr_diff<=ptr_diff +1; end else if((!write_to_stack)&&(!stack_empty)&&(read_from_stack)) begin read_ptr <= read_ptr + 1; ptr_diff <= ptr_diff-1; end end endmodule ========================================================= 此CODE某書裡面的CODE 想做STACK憶體練習 我用ISE 9.1i版本去合成 就會跑出上面Data_out那個錯誤 不知道為甚麼 -- 當在跑向終點的漫長旅程上,請不要忘記最初起點的夢想! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.21.173

04/19 20:08, , 1F
Cannot mix blocking and non blocking assignments
04/19 20:08, 1F

04/19 20:09, , 2F
if(rst)Data_out=0; Data_out <= stack [read_ptr];
04/19 20:09, 2F

04/19 20:14, , 3F
可是D out是有條件觸發捏XD
04/19 20:14, 3F

04/19 20:21, , 4F
硬體問題而已..改成if(rst)Data_out<=0;會影響你邏輯嗎?
04/19 20:21, 4F

04/19 20:24, , 5F
喔喔~這跟=有什麼差別嗎@@"
04/19 20:24, 5F

04/19 20:28, , 6F
04/19 20:28, 6F

04/19 20:29, , 7F
感謝m=_=m
04/19 20:29, 7F
文章代碼(AID): #182Tw8mQ (Electronics)