top of page

[Chisel] Casting integer type


Want I want to do

I want to expand a chisel.UInt type variable defined in 32bit to 64bit.



What is impossible

First, the following will result in a compile error

val x = 1.U(32.W)
val y = x.asUInt(64.W)

Official site also says it is not possible to cast to widen the bit width.


From hardware point of view, it seems that it is not possible to suddenly add more lines to a 32-bit bus.



How to solve

So what to do is to substitute a 32-bit value into the 64-bit value prepared in advance.

val op1_data = 1.U(32.W)
var op1_64 = UInt(64.W);
op1_64 = op1_data;

I don't know if this is the officially recommended method;

Recent Posts

See All

[chisel/scala] Create an array of Modules

What I want to do I have a class (parts) that I created and that inherits from Module. I want to place multiple instances (components) of this class in a circuit. What I tried I tried to create an arr

Comentarios


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
bottom of page