mirror of
https://github.com/antonblanchard/microwatt.git
synced 2026-02-09 17:51:23 +00:00
Merge pull request #30 from antonblanchard/writeback-assert
Add some assertions to writeback
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
library ieee;
|
||||
use ieee.std_logic_1164.all;
|
||||
use ieee.numeric_std.all;
|
||||
|
||||
library work;
|
||||
use work.common.all;
|
||||
@@ -41,9 +42,21 @@ begin
|
||||
complete_out <= '1' when e.valid or l.valid or m.valid else '0';
|
||||
|
||||
writeback_1: process(all)
|
||||
variable x: std_ulogic_vector(0 downto 0);
|
||||
variable y: std_ulogic_vector(0 downto 0);
|
||||
variable z: std_ulogic_vector(0 downto 0);
|
||||
begin
|
||||
--assert (unsigned(w.valid) + unsigned(l.valid) + unsigned(m.valid)) <= 1;
|
||||
--assert not(w.write_enable = '1' and l.write_enable = '1');
|
||||
x := "" & e.valid;
|
||||
y := "" & l.valid;
|
||||
z := "" & m.valid;
|
||||
assert (to_integer(unsigned(x)) + to_integer(unsigned(y)) + to_integer(unsigned(z))) <= 1;
|
||||
|
||||
x := "" & e.write_enable;
|
||||
y := "" & l.write_enable;
|
||||
z := "" & m.write_reg_enable;
|
||||
assert (to_integer(unsigned(x)) + to_integer(unsigned(y)) + to_integer(unsigned(z))) <= 1;
|
||||
|
||||
assert not(e.write_cr_enable = '1' and m.write_cr_enable = '1');
|
||||
|
||||
w_tmp <= WritebackToRegisterFileInit;
|
||||
c_tmp <= WritebackToCrFileInit;
|
||||
|
||||
Reference in New Issue
Block a user