- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
input [11:0] stimulus;
reg val; always @(posedge clk) val <=# 1 |(stimulus); what should be the value stored in the register val? Is it the same as saying val = val | stimulus? And does value always store the lower bit of the stimulus since val is just 1 bit but stimulus is 12 bits? Thanks.Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The use of the '|' operator in this case is referred to as a reduction operator. val will get the bitwise OR of all the bits in stimulus. So basically if any bit in stimulus is set, val will be a '1', otherwise, it will be '0';
It's the same as writing val <= stimulus[11] | stimulus[10] | stimulus[9] ..... | stimulus[1] | stimulus[0]; only obviously signicantly shorter. Jake
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page