本帖最后由 大帝成员组 于 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
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
嗯,后来移位做的,但是只能做四位的。水平有限啊,老师给过了,八位的看以后有机会研究没有了
一周热门 更多>