top of page

[Chisel] About conditional branching

Introduction

While writing chisel, you will learn that you can use the following syntax as a conditional branch.

  • if

  • when

  • Mux (MuxCase)


How should these be used?



if and when/Mux

First, these differ in whether the variable used for conditional judgment is of scala Boolean type or chisel BOOL type.

if: scala Boolean type

when/Mux: chisel BOOL type


In other words, whether to use if or when/Mux depends on the type of the variable to be judged.



when and Mux

As for how to use when and Mux, I think

  • "Mux" when calculating a value to be connected to some signal it seems that it is not possible to connect the value calculated inside "when" to the value defined outside "when" (a compile error occurred).

  • "when" when processing changes depending on conditions


This is just my personal opinion, though.

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

Comments


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