阅读以下这段代码:module fre_ctrl(clk,rst_n,cnt_en,cnt_rst,cnt_load);input clk,rst_n;output cnt_en,cnt_rst,cnt_load;reg div2_clk;always@(posedge clk or negedge rst_n) if(!rst_n) div2_clk<=1'b0; else div2_clk<=~div2_clk; always@(clk,div2_clk)begin if(clk==1'b0 & div2_clk==1'b0) cnt_rst<=1'b1; else cnt_rst<=1'b0;endassign cnt_load=~div2_clk;assign cnt_en=div2_clk;endmodule在编译时,出现报错信息“Error (10137): Verilog HDL Procedural Assignment error at fre_ctrl.v(15): object "cnt_rst" on left-hand side of assignment must have a variable data type”分析错误原因应该是( )。
选项:
A:cnt_rst不应该定义为输出端口;
B:cnt_rst应该是reg型变量;
C:cnt_rst应该是wire型变量;
D:cnt_rst应该用非阻塞赋值方式赋值
发布时间:2024-06-22 23:37:34