Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
14957 Discussions

A one bit in vector is not assigned when assigment is out of the process

TSvob
Beginner
150 Views
CheckOnes_P: process(gray_vector, no_ones_below) begin for i in 1 to WIDTH_C loop no_ones_below(i) <= no_ones_below(i-1) and not gray_vector(i-1); end loop; no_ones_below(0) <= '1'; end process;

Bit 0 of no_ones_below vector is not assigned in simulation when this line is written out of the process. Why?

0 Kudos
3 Replies
RichardTanSY_Intel
106 Views

VHDL uses a process to model signal assignments that are based on an event and the signal assignments do not take place until the process ends.

TSvob
Beginner
106 Views

Sure, I know it, but assigment can be also done outside the proces. Note, that line 8 is placed outside the process - it will cuase (in simulation) that bit 0 is not assigned (it get U value)

CheckOnes_P: process(gray_vector, no_ones_below) begin for i in 1 to WIDTH_C loop no_ones_below(i) <= no_ones_below(i-1) and not gray_vector(i-1); end loop; --- no_ones_below(0) <= '1'; end process; no_ones_below(0) <= '1';

 

RichardTanSY_Intel
106 Views

Please help to share your design files and testbench so I can look into the simulation behaviour.

Reply