结构推理 用VerilogHDL按照下图所示的状态转换图设计六进制计数器电路。
【正确答案】用Verilog HDL按照题图所示的状态转换图设计六进制计数器电路的源程序cnt6_a. v如下。 module cnt6_a(clk,q,cout); input clk; output reg[2:0] q; output reg cout; parameter[2:0] st0=' b010,stl=' b011,st2=' b111,st3=' b110,st4=' b100,st5='b000 always @(posedge clk) begin case(q) st0:q=st1; stl:q=st2; st2:q=st3; st3:q=st4; st4:q=st5; st5:q=st0; default:q=st0; endcase if(q==st5)cout=1; else cout=0; end endmodule 在源程序中,clk是时钟输入端,上升沿有效;q是计数器的3位状态输出端,cout是进位输出端。在程序中还设置了6个参数(parameter) st0, stl、st2 , st3 , st4和st5,分别代表状态转换图中的各个状态。计数器的仿真结果如下图所示。
【答案解析】