以下程序中,clk_50M为50MHz输入时钟,若想输出clk为2Hz的方波,则cnt的判断条件设置为多少?()
always@(posedge clk_50M)
begin
if (cnt == ? )
begin
clk2_hz = 1'b1;
cnt = 0;
end
else
begin
cnt = cnt + 1;
clk2_hz = 1'b0;
end
end
always@(posedge clk2_hz)
clk =~ clk;
always@(posedge clk_50M)
begin
if (cnt == ? )
begin
clk2_hz = 1'b1;
cnt = 0;
end
else
begin
cnt = cnt + 1;
clk2_hz = 1'b0;
end
end
always@(posedge clk2_hz)
clk =~ clk;
举一反三
- 中国大学MOOC: 以下程序中,clk_50M为50MHz输入时钟,则clk为多少Hz的方波?always@(posedge clk_50M) beginif (cnt == 24999999)beginclk2_hz = 1b1;cnt = 0;end else begin cnt = cnt + 1;clk2_hz = 1b0; end endalways@(posedge clk2_hz) clk =~ clk;
- 在以下程序中,Clk_50M为频率为50MHz的系统时钟,则下列说法中正确的有reg Clk; reg [31:0] Cnt;always@(posedge Clk_50M or negedge Rst)begin if(!Rst) begin Cnt [= 1; Clk <= 1; end else begin if(Cnt ]= 25000000) begin Cnt <= 1; Clk <= ~Clk; end else Cnt<= Cnt + 1; endend A: 该模块为同步复位 B: 该模块的功能是分频器 C: 若系统时钟频率为50MHz,则输出Clk的频率为2MHz D: 该程序为时序逻辑电路
- 在以下程序中,Clk_50M为频率为50MHz的系统时钟,则下列说法中正确的有reg Clk; reg [31:0] Cnt;always@(posedge Clk_50M or negedge Rst)begin if(!Rst) begin Cnt <= 1; Clk <= 1; end else begin if(Cnt >= 25000000) begin Cnt <= 1; Clk <= ~Clk; end else Cnt<= Cnt + 1; endend A: 该模块为同步复位 B: 该模块的功能是分频器 C: 若系统时钟频率为50MHz,则输出Clk的频率为2MHz D: 该程序为时序逻辑电路
- 补充完整如下带同步清零,异步复位功能的4位累加器: module add4b (clk, rstn,clr,cnt); input clk, rstn, clr; output reg [3:0] cnt; always @(posedge clk or ___1____ rstn) if (___2___) cnt <= 4'b1111; else if (____3____) cnt <= 4'b0; else cnt <= cnt + 1'b1;
- 关于以下分频器程序中,clk为系统时钟,则该分频器的分频数是多少?输出信号的占空比是多少?always@ (posedge clk) begin if (divider==M) begin carry<=1; divider<=P; end else begin divider<=divider+1; carry<=0; end end