OpenCores
URL https://opencores.org/ocsvn/pairing/pairing/trunk

Subversion Repositories pairing

[/] [pairing/] [trunk/] [rtl/] [f36m.v] - Diff between revs 8 and 10

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 8 Rev 10
Line 19... Line 19...
         e3, e4, e5,
         e3, e4, e5,
         mult_done, p, rst;
         mult_done, p, rst;
    wire [`W2:0] in0, in1;
    wire [`W2:0] in0, in1;
    wire [`W2:0] o;
    wire [`W2:0] o;
    reg mult_reset, delay1, delay2;
    reg mult_reset, delay1, delay2;
 
    reg [`W2:0] in0d,in1d;
 
 
    assign {e0,e1,e2,e3,e4,e5} = K[6:1];
    assign {e0,e1,e2,e3,e4,e5} = K[6:1];
    assign {a2,a1,a0} = a;
    assign {a2,a1,a0} = a;
    assign {b2,b1,b0} = b;
    assign {b2,b1,b0} = b;
    assign d4 = x0;
    assign d4 = x0;
Line 31... Line 32...
 
 
    f32m_mux6
    f32m_mux6
        ins1 (a2,v1,a1,v3,v5,a0,e0,e1,e2,e3,e4,e5,in0), // $in0$ is the first input
        ins1 (a2,v1,a1,v3,v5,a0,e0,e1,e2,e3,e4,e5,in0), // $in0$ is the first input
        ins2 (b2,v2,b1,v4,v6,b0,e0,e1,e2,e3,e4,e5,in1); // $in1$ is the second input
        ins2 (b2,v2,b1,v4,v6,b0,e0,e1,e2,e3,e4,e5,in1); // $in1$ is the second input
    f32m_mult
    f32m_mult
        ins3 (clk, mult_reset, in0, in1, o, mult_done); // o == in0 * in1
        ins3 (clk, mult_reset, in0d, in1d, o, mult_done); // o == in0 * in1
    func6
    func6
        ins4 (clk, reset, mult_done, p);
        ins4 (clk, reset, mult_done, p);
    f32m_add
    f32m_add
        ins5 (a1, a2, v1), // v1 == a1+a2
        ins5 (a1, a2, v1), // v1 == a1+a2
        ins6 (b1, b2, v2), // v2 == b1+b2
        ins6 (b1, b2, v2), // v2 == b1+b2
Line 56... Line 57...
    f32m_add4
    f32m_add4
        ins19 (x3, x2, nx0, nx5, d2); // d2 == x3+x2-x0-x5
        ins19 (x3, x2, nx0, nx5, d2); // d2 == x3+x2-x0-x5
 
 
    always @ (posedge clk)
    always @ (posedge clk)
      begin
      begin
 
        in0d <= in0; in1d <= in1;
 
      end
 
 
 
    always @ (posedge clk)
 
      begin
        if (reset) K <= 7'b1000000;
        if (reset) K <= 7'b1000000;
        else if (p | K[0]) K <= {1'b0,K[6:1]};
        else if (p | K[0]) K <= {1'b0,K[6:1]};
      end
      end
 
 
    always @ (posedge clk)
    always @ (posedge clk)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.