top of page

[scala/chisel] value >> is not a member of (chisel3.Bool, chisel3.UInt)


Issue

The following code causes the compilation error in the title

val x = 3.U(16.W)
val y = 5.U(16.W)

val mul_out := MuxCase(0.U(16.W), Seq(
    (exe_fun === ALU_MULH) -> (x*y)>>32.U(WORD_LEN.W),
))

*Please think of exe_fun as an integer type variable that is calculated before this.


The error message seems to say, "The operation chisel3.BOOL >> chisel3.UInt is not possible." Even though both x and y are defined as UInt type...



Cause and solution

When the above code is compiled, It seems that

(exe_fun === ALU_MULH) -> (x*y)

is processed first and interpreted as

((exe_fun === ALU_MULH) -> (x*y)) >> 32.U(WORD_LEN.W)

Therefore, I was able to compile it successfully by adding parentheses as shown below.

val x = 3.U(16.W)
val y = 5.U(16.W)

val mul_out := MuxCase(0.U(16.W), Seq(
    (exe_fun === ALU_MULH) -> ((x*y)>>32.U(WORD_LEN.W)),
))

Recent Posts

See All

[Chisel] Block inside "when" is always executed

Phenomenon There is an array Check whether the index variable is within the size of the array, and access the element only if it is within the size. I tried to do something common. val array = Seq.fil

[Chisel] Queue.enq.valid vs deq.valid

Overview When communicating data using a Queue, the following operations are possible: Queue.io.enq.valid: When set to false, data will not be added. Queue.io.deq.valid: When set to false, data will n

[Chisel] Don't use polymorphism

What I want to do There are multiple similar units Most of processes are the same, only some differences. Select an appropriate unit depending on the conditions and execute the process What I tried to

Let's do our best with our partner:​ ChatReminder

iphone6.5p2.png

It is an application that achieves goals in a chat format with partners.

google-play-badge.png
Download_on_the_App_Store_Badge_JP_RGB_blk_100317.png

Let's do our best with our partner:​ ChatReminder

納品:iPhone6.5①.png

It is an application that achieves goals in a chat format with partners.

google-play-badge.png
Download_on_the_App_Store_Badge_JP_RGB_blk_100317.png

Theme diary: Decide the theme and record for each genre

It is a diary application that allows you to post and record with themes and sub-themes for each genre.

google-play-badge.png
Download_on_the_App_Store_Badge_JP_RGB_blk_100317.png

Inquiries: Please contact us on Twitter

  • Twitter
bottom of page