Jump to content

    

Recommended Posts

Здравствуйте.

В модуле на systemverilog есть структура, объявленная в package:

typedef struct packed {
    logic wen_fifo;
    logic [31:0] data_fifo_in;
    logic rd_fifo;
    logic [31:0] data_fifo_out;
    logic afull;
    logic fempty;
    logic wen_queue;
    logic rd_queue;
    logic qempty;} STR_FIFO;

В симуляции все работает.

В quartus 17.1 в signaltap я вижу, что структура почему-то не заполняется, хотя fsm отрабатывает верно, и ничего не оптимизированно.

На systemverilog пишу недавно.

Может я что-то упустил.

Благодарю.

Share this post


Link to post
Share on other sites

Приветствую!

 

2 hours ago, Kostochkin said:

В quartus 17.1 в signaltap я вижу, что структура почему-то не заполняется, хотя fsm отрабатывает верно, и ничего не оптимизированно.
...
Может я что-то упустил.

И не только в Quartus - тут тоже не видно что структура заполняется. :wink2:
Упустили как минимум  описание того как именно вы работаете со структурой. :scratch_one-s_head:

 

Удачи! Rob.

Share this post


Link to post
Share on other sites

Вот пример

`timescale 1ns / 1ps   

package pack_rx;

typedef struct packed {
	logic [31:0] m0;
	logic [15:0] m1;
	logic [7:0] m2;} STR_A;	
	
endpackage : pack_rx
  
 
module rx_t

	import pack_rx::STR_A;

 #()
	(
		input logic clk,								    
		input logic data_vd,
		input logic [15:0] data,
		output logic data_out
     );	

	STR_A STR_PAR; 

	logic [7:0] state;
	logic r_data_out;
	
	initial
	begin
		r_data_out = 1'b0;
		state = 0;
	end	
	
	always @(posedge clk) begin
		if (data_vd) begin
			state <= state + 1;
			case (state)
				2:begin
					STR_PAR.m0[31:16] <= data;        
				end
				3:begin
					STR_PAR.m0[15:0] <= data;
				end
				4:begin
					STR_PAR.m1 <= data;
				end
				8:begin
					STR_PAR.m2 <= data[15:8];
				end
				default:;
			endcase
		end
		else begin
			if ((STR_PAR.m0 == 32'h00001100) & (STR_PAR.m2 == 8'h05))
				r_data_out <= 1'b1;
			else r_data_out <= 1'b0;
		end
			
	end
	
	assign data_out = r_data_out;
	
endmodule
  

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this