On 2007-09-02, Farhan Mohamed Ali wrote:
> Attached is the new version with a 16 bit mode switch (input 0 detection 
> removed). Inputs are assumed to be 16bit sign extended to 32bits. Output 
> is 32bit sign extended to 64bits. This design achieves 128MHz. Also added 
> in the copyright and license statement.

I had a better read of your code.  I assume that the carry chain of the
32 bit add/subtract is the bottle-neck?  That makes me wounder if we
could combine the radix-4 aspect of your design with full locality
aspect of my design, though I haven't tried to work it out.  Anyway, it
makes it above 100 MHz, which is also good news considering that the
nanocontroller also includes a 32 bit one-stage adder.

Allow me to pick on a few things in the code:

Orig:

   110     initial count = 0;

If you need initialisation also in hardware, use

    always @(posedge clk or negedge reset_) begin
        if (!reset_)
            count <= 0;
        else begin
            // The block where count is updated.
        end

instead.

Orig:

   170             if (mode16reg & count==1) // or count-1 == 0

I think it is more clear to use the boolean && here, rather than
exploiting the fact that comparisons return 0 or 1.

Orig:

   174                   if (product_nxt[64])
   175                      product[64:49] <= 16'hFFFF;
   176                   else
   177                      product[64:49] <= 0;

This can be simplified to

   174                  product[64:49] <= {16{product_nxt[64]}};

The synthesiser should be able to figure it out, so never mind this if
you prefer your own version.

Lastly, coding style; I'll not argue what's better or worse, but I think
it'll be nice if everything checked into Subversion repository is
roughly consistent.  I don't think there is an official document, but
see e.g. rtl/pci/master_fsm.v.
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to