中国大学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输入时钟,若想输出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;
- 在以下程序中,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