2016-02-27 1 views
0

J'utilise le module et la base de test mentionnés ci-dessous pour utiliser MAC megawizard dans quartus, quelqu'un peut-il me dire comment utiliser des nombres à virgule flottante pour le même mégawizard?Comment utiliser les nombres flottants avec quartus megawizard ALTMULT_ACCUM (MAC)?

Testbench

`timescale 1ns/1ps 
module projecttry2_tb; 
    reg [15:0] A, B;  
    wire [31:0] P; 
reg clk; 
projecttry2 M(.A(A),.B(B),.P(P),.clk(clk)); 
initial  
     begin 
     clk = 1; 
     forever #25 clk = ~clk; 
     end 
initial 
    begin 
    A=3008; 
    B=255; 
    #50 
    A=5859; 
    B=255; 
    #50 
    A=1133; 
    B=255; 
    #50 
    A=0; 
    B=0; 
    end 
endmodule 

Conception Module

module projecttry2(A,B,P,clk); 
    input [15:0] A,B; 
    output [31:0] P; 
    input clk; 
mult_acc mult_acc_inst ( 
    .clock0(clk), 
    .dataa(A), 
    .datab(B), 
    .result (P) 
    ); 
endmodule 
+0

Dans votre fichier de stimulus, vous pouvez remplacer '# 50' par' @ (posedge clk) 'pour un testharness plus robuste. – Morgan

Répondre

0

ALTFP_MULT est disponible et documenté à la page 40 de Floating-Point Megafunctions.

+0

Mais notre professeur nous a demandé d'utiliser la mégafonction MAC seulement @Morgan, est-il même possible de l'utiliser pour des nombres flottants? –

+0

Je suppose que c'est possible mais beaucoup de travail, avez-vous regardé la spécification en virgule flottante, vous aurez plusieurs instances de MAC. https://en.wikipedia.org/wiki/IEEE_floating_point – Morgan