Trying to verify Verilog/VHDL designs with formal methods and tools
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
550 B

  1. module dlatch_t (
  2. input Reset_n_i,
  3. input Clk_i,
  4. input Wen_i,
  5. input [15:0] Data_i,
  6. output [31:0] Data_o
  7. );
  8. `define INIT_VALUE 32'hDEADBEEF
  9. dlatch #(.Init(`INIT_VALUE)) dlatch_i (
  10. .Reset_n_i(Reset_n_i),
  11. .Clk_i(Clk_i),
  12. .Wen_i(Wen_i),
  13. .Data_i(Data_i),
  14. .Data_o(Data_o)
  15. );
  16. reg init_state = 1;
  17. always @(*)
  18. if (init_state) assume (!Reset_n_i);
  19. always @(posedge Clk_i)
  20. init_state = 0;
  21. always @(*)
  22. if (!Reset_n_i) assert (Data_o == `INIT_VALUE);
  23. endmodule