有效时又重新开始计数。源程序如下
modulecou
tcarry_i
gate_outreset
c
te0c
te1c
te2c
te3c
te4c
te5c
te6
i
putcarry_i
gate_outreset
e2c
te3c
te4c
te5c
te6在每一次闸门有效时读数器传递的计数值
reg30c
t0c
t1c
t2c
t3c
t4c
t5c
t6计数器的6个计数值
freg20cou
ter6延迟将cou
ter
um清零的计数值
alwaysposedgecarry_i
or
egedgeresetbegi
ifresetbegi
c
t04b0000c
t14b0000c
t24b0000c
t34b0000
c
t44b0000c
t54b0000c
t64b0000判断是否溢出
c
te04b0000c
te14b0000c
te24b0000
c
te34b0000c
te44b0000c
te54b0000cou
ter60
e
delsebegi
ifgate_out1begi
cou
ter60
ifc
t54b1001c
t44b1001c
t34b1001c
t24b1001
c
t14b1001c
t04b1001begi
c
t04b0000c
t14b0000c
t24b0000c
t34b0000
c
t44b0000c
t54b0000c
t6c
t64b0001e
delsebegi
ifc
t44b1001c
t34b1001c
t24b1001c
t14b1001c
t04b1001begi
c
t04b0000c
t14b0000c
t24b0000c
t34b0000
c
t44b0000c
t54b0001c
t5c
t6c
t6
e
delsebegi
ifc
t34b1001c
t24b1001c
t14b1001c
t04b1001begi
c
t04b0000c
t14b0000c
t24b0000c
t34b0000
c
t44b0001c
t4c
t5c
t5c
t6c
t6
e
delsebegi
ifc
t24b1001c
t14b1001c
t04b1001begi
c
t04b0000c
t14b0000c
t24b0000c
t34b0001c
t3
c
t4c
t4c
t5c
t5c
t6c
t6
e
delsebegi
ifc
t14b1001c
t04b1001begi
c
t04b0000c
t14b0000c
t24b0001c
t2c
t3c
t3
c
t4c
t4c
t5c
t5c
t6c
t6
e
delsebegi
ifc
t04b1001begi
c
t04b0000c
t14b0001c
t1c
t2c
t2c
t3c
t3
c
t4c
t4c
t5c
t5c
t6c
t6
e
delsebegi
c
t04b0001c
t0c
t1c
t1c
t2c
t2c
t3c
t3
c
t4c
t4c
t5c
t5c
t6c
t6
e
de
de
de
de
de
de
delsebegi
ifcou
ter62b01begi
c
t04b0000c
t14b0000c
t24b0000c
t34b0000
c
t44b0000c
t54b0000c
t64b0000
e
delsebegi
cou
ter6cou
ter61c
te0c
t0c
te1c
t1
c
te2c
t2c
te3c
t3c
te4c
t4c
te5c
t5c
te6c
t6
e
de
de
de
d
e
dmodule
f34锁存器
如果计数器输出直接与译码器相连接那么在计数过程中输出端则随输入脉冲数的增加而不断跳变那么显示数码管则也会不断闪烁跳变让人不能看到稳定的输出设锁存器后则不再跳变便可清晰读出计数结果。其生成的功能模块如图所示
这模块实现了对七位计数结果的锁存功能。程序很简单如下所示
fmoduledata_latchlatch_e
ablereset
um0
um1
um2
um3
um4
um5over
_0
_1
_2
_3
_4
_5over_out
i
putresetlatch_e
ableover
i
put30
um0
um1
um2
um3
um4
um5
outputreg30
_0
_1
_2
_3
_4
_5
outputregover_out
regover_oldover_
ew
always
egedr