数电试验6
This commit is contained in:
parent
f297a2eee3
commit
9588208479
4 changed files with 69 additions and 49 deletions
|
@ -70,15 +70,15 @@ set_location_assignment PIN_54 -to out0[3]
|
||||||
set_location_assignment PIN_52 -to out0[2]
|
set_location_assignment PIN_52 -to out0[2]
|
||||||
set_location_assignment PIN_50 -to out0[1]
|
set_location_assignment PIN_50 -to out0[1]
|
||||||
set_location_assignment PIN_46 -to out0[0]
|
set_location_assignment PIN_46 -to out0[0]
|
||||||
set_location_assignment PIN_119 -to seg[7]
|
set_location_assignment PIN_120 -to seg[7]
|
||||||
set_location_assignment PIN_126 -to seg[6]
|
set_location_assignment PIN_113 -to seg[6]
|
||||||
set_location_assignment PIN_115 -to seg[5]
|
set_location_assignment PIN_121 -to seg[5]
|
||||||
set_location_assignment PIN_125 -to seg[4]
|
set_location_assignment PIN_114 -to seg[4]
|
||||||
set_location_assignment PIN_114 -to seg[3]
|
set_location_assignment PIN_125 -to seg[3]
|
||||||
set_location_assignment PIN_121 -to seg[2]
|
set_location_assignment PIN_115 -to seg[2]
|
||||||
set_location_assignment PIN_113 -to seg[1]
|
set_location_assignment PIN_126 -to seg[1]
|
||||||
set_location_assignment PIN_120 -to seg[0]
|
set_location_assignment PIN_119 -to seg[0]
|
||||||
set_location_assignment PIN_33 -to subclk
|
set_location_assignment PIN_49 -to subclk
|
||||||
set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
|
set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
|
||||||
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
|
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
|
||||||
set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
|
set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
|
||||||
|
|
|
@ -19,41 +19,16 @@ begin
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
if(co_flag)
|
|
||||||
begin
|
|
||||||
co<=1;
|
|
||||||
co_flag=0;
|
|
||||||
end
|
|
||||||
else if(!co_flag)
|
|
||||||
co<=0;
|
|
||||||
//正反计数
|
//正反计数
|
||||||
if(upd)
|
|
||||||
begin
|
|
||||||
if(Q>=4'd9)
|
if(Q>=4'd9)
|
||||||
begin
|
begin
|
||||||
Q<=4'd0;
|
Q<=4'd0;
|
||||||
co_flag=1;
|
co<=1;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
Q <= Q+1;
|
Q <= Q+1;
|
||||||
end
|
co<=0;
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
if(Q<=4'd0)
|
|
||||||
begin
|
|
||||||
Q<=4'd9;
|
|
||||||
end
|
|
||||||
else if(Q==4'd1)
|
|
||||||
begin
|
|
||||||
Q <= Q-1;
|
|
||||||
co_flag=1;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
Q <= Q-1;
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -12,7 +12,10 @@ output [19:0] cnt;
|
||||||
|
|
||||||
|
|
||||||
wire freshclk;
|
wire freshclk;
|
||||||
|
wire [3:0] out1;
|
||||||
|
wire [3:0] out2;
|
||||||
|
wire [3:0] out3;
|
||||||
|
wire co,co2,co3;
|
||||||
reg upd;
|
reg upd;
|
||||||
|
|
||||||
initial begin
|
initial begin
|
||||||
|
@ -30,12 +33,36 @@ jyh_4490_6_counter C1(
|
||||||
.Q(out0),
|
.Q(out0),
|
||||||
.clk(subclk),
|
.clk(subclk),
|
||||||
.en(en),
|
.en(en),
|
||||||
|
.co(co),
|
||||||
|
.upd(upd));
|
||||||
|
|
||||||
|
jyh_4490_6_counter C2(
|
||||||
|
.Q(out1),
|
||||||
|
.clk(co),
|
||||||
|
.co(co2),
|
||||||
|
.en(en),
|
||||||
|
.upd(upd));
|
||||||
|
|
||||||
|
jyh_4490_6_counter C3(
|
||||||
|
.Q(out2),
|
||||||
|
.clk(co2),
|
||||||
|
.co(co3),
|
||||||
|
.en(en),
|
||||||
|
.upd(upd));
|
||||||
|
|
||||||
|
jyh_4490_6_counter C4(
|
||||||
|
.Q(out3),
|
||||||
|
.clk(co3),
|
||||||
|
.en(en),
|
||||||
.upd(upd));
|
.upd(upd));
|
||||||
|
|
||||||
//四位数码管译码器
|
//四位数码管译码器
|
||||||
jyh_4490_4_encoder E1(
|
jyh_4490_4_encoder E1(
|
||||||
.codeout(code),
|
.codeout(code),
|
||||||
.d1(out0),
|
.d1(out0),
|
||||||
|
.d2(out1),
|
||||||
|
.d3(out2),
|
||||||
|
.d4(out3),
|
||||||
.clk(freshclk),
|
.clk(freshclk),
|
||||||
.sel(seg[3:0])
|
.sel(seg[3:0])
|
||||||
);
|
);
|
||||||
|
|
|
@ -13,38 +13,56 @@ else
|
||||||
case(state)
|
case(state)
|
||||||
s0:
|
s0:
|
||||||
begin
|
begin
|
||||||
|
out=0;
|
||||||
|
cnt=0;
|
||||||
if(in)
|
if(in)
|
||||||
state=s1;
|
state=s1;
|
||||||
out=0;
|
|
||||||
end
|
end
|
||||||
s1:
|
s1:
|
||||||
|
begin
|
||||||
|
out=0;
|
||||||
if(cnt<TARGET)
|
if(cnt<TARGET)
|
||||||
|
begin
|
||||||
|
state=s1;
|
||||||
cnt=cnt+1;
|
cnt=cnt+1;
|
||||||
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
cnt=0;
|
||||||
if(in)
|
if(in)
|
||||||
state=s2;
|
state=s2;
|
||||||
else
|
else
|
||||||
state=s0;
|
state=s0;
|
||||||
cnt=0;
|
end
|
||||||
end
|
end
|
||||||
s2:
|
s2:
|
||||||
begin
|
begin
|
||||||
if(in)
|
|
||||||
state=s2;
|
|
||||||
else
|
|
||||||
state=s3;
|
|
||||||
out=1;
|
out=1;
|
||||||
|
cnt=0;
|
||||||
|
if(!in)
|
||||||
|
state=s3;
|
||||||
end
|
end
|
||||||
s3:
|
s3:
|
||||||
|
begin
|
||||||
|
out=1;
|
||||||
if(cnt<TARGET)
|
if(cnt<TARGET)
|
||||||
|
begin
|
||||||
|
state=s3;
|
||||||
cnt=cnt+1;
|
cnt=cnt+1;
|
||||||
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
cnt=0;
|
||||||
if(in)
|
if(in)
|
||||||
state=s2;
|
state=s2;
|
||||||
else
|
else
|
||||||
state=s0;
|
state=s0;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
default:
|
||||||
|
begin
|
||||||
|
state=s0;
|
||||||
|
out=0;
|
||||||
cnt=0;
|
cnt=0;
|
||||||
end
|
end
|
||||||
endcase
|
endcase
|
||||||
|
|
Reference in a new issue