|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
module test3(b,clk);
input clk;
output reg b;
reg[2:0] count1;
always@(posedge clk)
begin
if(count1==3)
begin
b<=~b;
count1<=0;
end
else
begin
count1<=count1+1;
end
end
endmodule
我刚开始学习CPLD,这是在我脱离书本写第一个程序时遇到的困难
目的是产生一个4分频的波形 输入为clk 输出为b
这个程序仿真之后clk的波形是正确的,但是b没有波形,是一根红线
我当时怀疑是b需要赋值之后才可以产生波形,但是怎么都想不到要如何初始化这个b
我朋友是说使用时 b会有一个确定的值,这一点我并不确定
在书上也没有看到有关的说明
我尝试在else中加入了一个 b<=0 的语句,于是波形在第二次上升沿的时候产生了波形
然后我将if当中的b<=~b 移到else中,波形没有产生
我以此推断,b要在程序中赋值一个确定的值,才会产生波形
另外,当我在else中加入b<=0 时
按理说也应该产生一个高电平占空比为1/4的波形,为何我看到的仿真波形一直是低电平
诚恳求指导,有什么说什么 |
|