集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 3197|回复: 2

浮点复数乘法器实现编译出现的问题

[复制链接]
encounter 发表于 2010-6-26 01:03:09 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-6-28 01:15 编辑

复数乘法器,结果代码在modsim下编译通过,在Quartuas下出现编译错误:

Error: Verilog HDL syntax error at mult_complex_float.v(98): experienced unexpected end-of-file -- translate_off synthesis directive must have matching translate_on synthesis directive

Error: Verilog HDL syntax error at mult_complex_float.v(98) near end of file ;expecting ")", or ","



附带:module mult_complex_float(
     dataa_r,
     dataa_i,
     datab_r,
     datab_i,
     clock,
     result_r,
     result_i);
input [31:0] dataa_r;
input [31:0] dataa_i;
input [31:0] datab_r;
input [31:0] datab_i;
input clock;
output [31:0] result_r;
output [31:0] result_i;

reg [31:0] result_r;
reg [31:0] result_i;
reg [31:0] temp1;
reg [31:0] temp2;
reg [31:0] temp3;
reg [31:0] temp4;

//(a_r+i*a_i)(b_r+i*b_i)=(a_r*b_r-a_i*b_i)+i(a_r*b_i+a_i*b_r)
//           temp1 temp2  temp3 temp4

mult_floating mult_floating_inst1(.dataa(dataa_r),
            .datab(datab_r),
            .clock(clock),
            .result(temp1),
            
            //synopsys translate_off
            .overflow(),
            .underflow(),
            .nan());
mult_floating mult_floating_inst2(.dataa(dataa_i),
            .datab(datab_i),
            .clock(clock),
            .result(temp2),
            
            //synopsys translate_off
            .overflow(),
            .underflow(),
            .nan());
                       
mult_floating mult_floating_inst3(.dataa(dataa_r),
            .datab(datab_i),
            .clock(clock),
            .result(temp3),
            
            //synopsys translate_off
            .overflow(),
            .underflow(),
            .nan());
            
mult_floating mult_floating_inst4(.dataa(dataa_i),
            .datab(datab_r),
            .clock(clock),
            .result(temp4),
            
            //synopsys translate_off
            .overflow(),
            .underflow(),
            .nan());
add_float add_float_inst1(.add_sub(0),
         .dataa(temp1),
         .datab(temp2),
         .clock(clock),
         
         //没用的端口
         .overflow(),
        .nan(),
        .underflow(),
        .result(result_r));

add_float add_float_inst2(.add_sub(1),
         .dataa(temp3),
         .datab(temp4),
         .clock(clock),
         
         //没用的端口
         .overflow(),
        .nan(),
        .underflow(),
        .result(result_i));
        
endmodule           //此处为98行



其中的浮点乘法,浮点加减模块是Quartas的mega生成的!在modsim下仿真提示其中的一些实体找不到,能编译通过,不能仿真。


Quartas下的编译问题怎么办?有没有实现过浮点复数乘法器的实例??
 楼主| encounter 发表于 2010-6-26 01:34:05 | 显示全部楼层
你乘法模块还有加法模块的参数写的对不对啊?<br>
<br>
是不是写反了?
罗曼4321 发表于 2012-5-2 09:42:15 | 显示全部楼层
刚接触~弱弱的问一句~浮点乘法那个模块输入为啥是ASCII码的形式
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-2 13:07 , Processed in 0.064072 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表