Jump to content
Sign in to follow this  
Veeraraju

Issue with clocking block output

Recommended Posts

Iam seeing issue with mux output from clocking block(Inputs(a,b,sel) are delayed correctly by 1ns where as outputs is in sync with clk).

DUT definition:

module mux(a,b,sel,clk,out);

input [4:0] a;

input [4:0] b;

input clk;

input sel;

output [4:0] out;

reg [4:0] out_temp;

always @(posedge clk) begin


if(sel==0) out_temp <=a;
if(sel==1) out_temp <=b;


end

assign out =out_temp;


endmodule
 

Interface definition:

 

interface mux_if(input clk);

logic [4:0] a;

logic [4:0] b;

logic sel;

logic [4:0] out;


clocking mux_cb @(posedge clk);

   default  input #1ns output #1ns;

   input  out;

   output a,b;
   output sel ;

endclocking     

endinterface    
 

In TB iam instantiating DUT as 

mux mux_inst(.clk(mux_if1.clk),
             .a(mux_if1.a),
             .b(mux_if1.b),
             .sel(mux_if1.sel),
             .out(mux_if1.out)
             );

 


 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×