根据“清零信号clear低电平有效,输入数据在时钟信号clock上升沿被锁存,触发器在clock下降沿输出;当count-enable为低电平时停止计数。”这段话,应该把IK触发器的实现逻辑设计成时序逻辑。你的JK触发器的实现方法是组合逻辑。把计数器的实现也应该写时序许逻辑,你的也是组合逻辑。
时序逻辑的敏感列表是时钟边沿处罚,组合逻辑的敏感列表是电平触发。
你把JK触发器的敏感列表写成“@(posedge clock)”,把计数器的敏感列表写成“@(negedge clock)”,这样就可以实现“输入数据在时钟信号clock上升沿被锁存,触发器在clock下降沿输出”了。
至于“清零信号clear低电平有效,”在计数器的实现逻辑中,加上个if判断语句就可以了,比如计数器的输入是out[2:0]:
if(~clear) out[2:0] <= 0;
else ......(此处省略的地方就是你计数的实现逻辑)
“当count-enable为低电平时停止计数。”还记得JK触发器的特点吗?什么时候JK触发器可以保持当前值不便?可以用这个特性解决这一问题。
希望能帮到你。