Omar Rashad wrote:
> I am find it difficult to write the structural code for it because using
> for-generate statements to use the FA and HA components (that is
> required) means we cannot use a process.
A multiplier usually does not need a clock at all. it can be implemented
completly as a combinatorial description. So first you have to answer:
do you need a clock at all?
> But if we don't use a process, how can we clock it?
This is a synthesizeable concurrent description of a clocked D-flipflop:
1 | FF_Dout <= FF_Din when rising_edge(clk);
|
BTW: doing VHDL with structural description is like drilling holes in
steel with a wooden stick. Its just an old fashioned way to waste
time...
And doing VHDL without using a process is like driving a car without a
gearbox or only in the first gear: nearly senseless...
For any contemporary FPGA you write a multiplication this way: