top of page

[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 not be retrieved.


Here is a summary of these uses:



Queue.io.enq.valid

Set this to false when you " don't want to put data in if a certain condition is met." Since the data will not be put into the queue, it will not be taken out and processed.


Queue.io.deq.valid

Set this to false when you "don't want to retrieve the data now". In other words, you will retrieve it sometime.

Unlike enq.valid, the queue is occupied and the next data cannot be retrieved until it is retrieved.



Which to use

  • If the data doesn't meet the conditions for processing, set enq.valid to false.

  • If the data will be processed but not now, set deq.ready to false.


Of course, you could check the condition after retrieving it and discard it if it is not met, but this would waste one cycle and take up space in the queue.

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] 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

[Chisel] Exiting a loop

What want to do ★ There are multiple modules of the same type Select one of these that meets the specified condition. To achieve this, I tried common routine in high-level languages like below. Define

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