集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 6434|回复: 12

初学QII,请教个问题,我把下面的测试程序设为顶层文件

[复制链接]
CPLD 发表于 2010-5-14 12:27:41 | 显示全部楼层 |阅读模式
初学QII,请教个问题,我把下面的测试程序设为顶层文件,
`timescale 1ns/1ns

module DEC_top;
reg [3:0] IN;
wire [9:0] OUT;
wire ERR;
integer i;

BCD_decoder        DEC_1 (IN, OUT, ERR);
initial begin
        IN=0;
        for (i=0;i<15;i=i+1)
                #50        IN=IN+1;
                $finish;
end
endmodule       
然后 start compilation, 为什么出现下面错误
Error: Can't synthesize current design -- Top partition does not contain any logic
 楼主| CPLD 发表于 2010-5-14 12:28:00 | 显示全部楼层
这个不能综合 已经写的很明白了 其中不包括逻辑
 楼主| CPLD 发表于 2010-5-14 12:28:14 | 显示全部楼层
这个不能综合 已经写的很明白了 其中不包括逻辑
CPLD 发表于 2010-5-14 12:28



    为什么不包含逻辑啊,我已经例化了BCD_decoder        DEC_1 (IN, OUT, ERR);
 楼主| CPLD 发表于 2010-5-14 12:28:30 | 显示全部楼层
你例化的单元 包含逻辑吗
随便加个赋值语句就行了
 楼主| CPLD 发表于 2010-5-14 12:28:46 | 显示全部楼层
这个是例化单元,
module BCD_decoder (IN, OUT, ERR);
input [3:0] IN;
output [9:0] OUT;
output ERR;

parameter out_0=10'b00_0000_0001,
                  out_1=10'b00_0000_0010,
                  out_2=10'b00_0000_0100,
                  out_3=10'b00_0000_1000,
                  out_4=10'b00_0001_0000,
                  out_5=10'b00_0010_0000,
                  out_6=10'b00_0100_0000,
                  out_7=10'b00_1000_0000,
                  out_8=10'b01_0000_0000,
                  out_9=10'b10_0000_0000,
                  out_err=10'b00_0000_0000;
assign {ERR, OUT} =FUNC_DEC(IN);

function [10:0] FUNC_DEC;
        input [3:0] IN;
        case(IN)
                0: FUNC_DEC={1'b0, out_0};
                1: FUNC_DEC={1'b0, out_1};
                2: FUNC_DEC={1'b0, out_2};
                3: FUNC_DEC={1'b0, out_3};
                4: FUNC_DEC={1'b0, out_4};
                5: FUNC_DEC={1'b0, out_5};
                6: FUNC_DEC={1'b0, out_6};
                7: FUNC_DEC={1'b0, out_7};
                8: FUNC_DEC={1'b0, out_8};
                9: FUNC_DEC={1'b0, out_9};
                default: FUNC_DEC={1'b1, out_err};
        endcase
endfunction
endmodule
 楼主| CPLD 发表于 2010-5-14 12:29:03 | 显示全部楼层
这个是例化单元,
module BCD_decoder (IN, OUT, ERR);
input [3:0] IN;
output [9:0] OUT;
output ERR ...
CPLD 发表于 2010-5-14 12:28



    这个综合可以通过吗
 楼主| CPLD 发表于 2010-5-14 12:29:23 | 显示全部楼层
不行啊,就出现刚才那个错误,说不包含逻辑
哦,如果把这个作为顶层文件,综合可以通过
 楼主| CPLD 发表于 2010-5-14 12:29:53 | 显示全部楼层
不行啊,就出现刚才那个错误,说不包含逻辑
哦,如果把这个作为顶层文件,综合可以通过
CPLD 发表于 2010-5-14 12:29



    给你的顶层加上输入输出 就可以综合通过了
 楼主| CPLD 发表于 2010-5-14 12:30:11 | 显示全部楼层
改成这样也不对
module DEC_top(IN, OUT, ERR);
input [3:0] IN;
output [9:0] OUT;
output ERR;

BCD_decoder        DEC_1 (IN, OUT, ERR);
initial begin
        IN=0;
        for (i=0;i<15;i=i+1)
                #50        IN=IN+1;
                $finish;
end
endmodule               

IN=0; 和 IN=IN+1;  这两句出错
 楼主| CPLD 发表于 2010-5-14 12:30:25 | 显示全部楼层
改成这样也不对
module DEC_top(IN, OUT, ERR);
input [3:0] IN;
output [9:0] OUT;
output ERR;

BC ...
CPLD 发表于 2010-5-14 12:30



    给in 赋值 要是reg类型
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

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

GMT+8, 2025-5-6 19:37 , Processed in 0.069087 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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