하위 단어 추출 및 할당을 수행하기 위해 UInt ()를 UInt의 Vec으로 분할하는 방법은 무엇입니까?

FabienM

다음과 같이 선언 된 16 비트 레지스터가 있습니다.

val counterReg = RegInit(0.U(16.W))

그리고 다음과 같이 모듈 출력에 색인이 지정된 dibit 할당을 수행하고 싶습니다.

//..
  val io = IO(new Bundle {
     val dibit = Output(UInt(2.W))
  })
//..
var indexReg = RegInit(0.U(4.W))
//..
io.dibit = vectorizedCounter(indexReg)

그러나 선언하는 방법을 알기에는 약간의 어려움이 vectorizedCounter()있습니다.

번들을 사용하여 몇 가지 예를 찾았지만 벡터에 대해서는 모르겠습니다. 그리고 나는 UInt ()로 그것을 관리 할 수 ​​없습니다.

val counterReg = RegInit(UInt(16.W))
//...
io.dibit := counterReg(indexReg*2.U + 1.U, indexReg*2.U)
잭 코닉

결과를 동적으로 이동하고 비트 추출 할 수 있습니다.

io.dibit := (counterReg >> indexReg)(1, 0)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관