春春找我,要我帮忙看一个verilog代码,是实现倍频的功能,不要求综合,只要求行为级的描述。我觉得有点晕,verilog如此NX的我,看这个还是觉得累,关键是,我一看见代码,脑子里面全是硬件实现的电路,想不到软件的方法。。。。。
突然想到了Verilog-A,google后,Download PDF,居然看到Kirchhoff's laws (基尔霍夫定律) 突然想到模电书,魔王,还有TongJi
。。。。
Verilog-A 学习中。。。。
=========================================================
Add in Aug 4
=========================================================
昨天下午,通过伟大的即时聊天工具QQ和Chunchun沟通了一下,终于改正了几个小bug,把代码写好了。其实代码很简单,我是觉得不太有用处的,我以前也不会这么写,因为都是些不能综合的语句。也正因为如此,我会犯错误。。。
现在好了,bug纠正了一下。
另外Verilog-A真好,描述的很神奇,Cadence的ICFB下有ahdl的例子,可以很好的描述PLL之类的电路,用Specre仿了一下,还可以。不过感觉Verilog-A也就在建模的时候用一下。具体的功能可能我还没发掘出来
先把昨天的代码贴出来吧
`timescale 1ns / 1ps
module pll(clk_in/*,reset*/,divN,clk_out);
input clk_in;
//input reset;
input [4:0]divN;
output clk_out;
reg clk_out;
time t1;
time t2;
real period;
initial begin
clk_out = 1'b0;
forever #(period/(divN+3)) clk_out = !clk_out;
end
always @ (posedge clk_in) begin
t2=t1;
t1=$time;
period = t1-t2;
end
initial begin
period = 10;
t1 = 50;
t2 = 0;
end
endmodule
突然想到了Verilog-A,google后,Download PDF,居然看到Kirchhoff's laws (基尔霍夫定律) 突然想到模电书,魔王,还有TongJi
。。。。
Verilog-A 学习中。。。。
=========================================================
Add in Aug 4
=========================================================
昨天下午,通过伟大的即时聊天工具QQ和Chunchun沟通了一下,终于改正了几个小bug,把代码写好了。其实代码很简单,我是觉得不太有用处的,我以前也不会这么写,因为都是些不能综合的语句。也正因为如此,我会犯错误。。。
现在好了,bug纠正了一下。
另外Verilog-A真好,描述的很神奇,Cadence的ICFB下有ahdl的例子,可以很好的描述PLL之类的电路,用Specre仿了一下,还可以。不过感觉Verilog-A也就在建模的时候用一下。具体的功能可能我还没发掘出来
先把昨天的代码贴出来吧
`timescale 1ns / 1ps
module pll(clk_in/*,reset*/,divN,clk_out);
input clk_in;
//input reset;
input [4:0]divN;
output clk_out;
reg clk_out;
time t1;
time t2;
real period;
initial begin
clk_out = 1'b0;
forever #(period/(divN+3)) clk_out = !clk_out;
end
always @ (posedge clk_in) begin
t2=t1;
t1=$time;
period = t1-t2;
end
initial begin
period = 10;
t1 = 50;
t2 = 0;
end
endmodule
版权声明:本文为kingbeful原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。