cpld小程序,麻烦大虾看一下

2019-07-16 01:33发布

本帖最后由 大帝成员组 于 2013-6-7 18:59 编辑

老师叫我用有128个宏单元的cpld做一个8bit*8bit的实验,可是我编好程序之后说宏单元超了,怎么破啊
下面是我的程序,见笑了:
module test(L,sw,sw1,clk,segment)
        input clk;
        input [1:8]sw,sw1;//两个拨码开关,要相乘
        output [1:8]L,segment;//动态显示控制变量
        wire [7:0]decode[10];
        wire [3:0]flag[8];//保存拨码开关乘积
        reg [15:0] Count;//动态显示计时

/*led显示码*/
        assign decode[0]=8'b11111100;
        assign decode[1]=8'b01100000;
        assign decode[2]=8'b11011010;
        assign decode[3]=8'b11110010;
        assign decode[4]=8'b01100110;
        assign decode[5]=8'b10110110;
        assign decode[6]=8'b10111110;
        assign decode[7]=8'b11100000;
        assign decode[8]=8'b11111110;
        assign decode[9]=8'b11110110;
        assign segment=decode[flag[Count[13:11]]];
        assign L=8'd1<<Count[13:11];
        assign flag[7]=0;
        assign flag[6]=0;
        assign flag[5]=0;
        assign flag[4]=(sw*sw1)/10000;
        assign flag[3]=(sw*sw1)%10000/1000;
        assign flag[2]=(sw*sw1)%1000/100;
        assign flag[1]=(sw*sw1)%100/10;
        assign flag[0]=(sw*sw1)%10;
        always @(posedge clk)
        begin
               
                Count<=Count+1;
        end
endmodule


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。