diff --git a/rocketv/src/CSR.scala b/rocketv/src/CSR.scala index aa72c4fdaa..30330acc1b 100644 --- a/rocketv/src/CSR.scala +++ b/rocketv/src/CSR.scala @@ -815,8 +815,7 @@ class CSR(val parameter: CSRParameter) CSRs.vxrm -> v.states("vxrm"), CSRs.vcsr -> v.states("vxrm") ## v.states("vxsat"), CSRs.vstart -> v.states("vstart"), - CSRs.vtype -> v.states("vlmul") ## v.states("vsew") ## v.states("vta") ## v.states("vma") ## 0.U(23.W) ## v - .states("vill"), + CSRs.vtype -> v.states("vill") ## 0.U(23.W) ## v.states("vma") ## v.states("vta") ## v.states("vsew") ## v.states("vlmul"), CSRs.vl -> v.states("vl"), CSRs.vlenb -> v.constants("vlenb") ) diff --git a/rocketv/src/csr/V.scala b/rocketv/src/csr/V.scala index a654ba4a88..1ac2f865b5 100644 --- a/rocketv/src/csr/V.scala +++ b/rocketv/src/csr/V.scala @@ -61,7 +61,7 @@ class V(vlen: Int, hypervisor: Boolean) { case "vsew" => Some(0.U) case "vta" => Some(false.B) case "vma" => Some(false.B) - case "vill" => Some(true.B) + case "vill" => Some(false.B) // The vector extension must have a consistent state at reset. In particular, vtype and vl must have values that can be read and then restored with a single vsetvl instruction. case "vl" => Some(0.U) // The vstart, vxrm, vxsat CSRs can have arbitrary values at reset.