Verilog综合时延迟#用不了了,如何解决 50

我想实现这样一个东西。就是每当a变化时,a的值会延迟一段时间再赋值给b,求各位大神如何实现啊~~,我们用的板子产生的是50Mhz的wirea;regb;always@(a... 我想实现这样一个东西。就是每当a变化时,a的值会延迟一段时间再赋值给b,求各位大神如何实现啊~~,我们用的板子产生的是50Mhz的
wire a;

reg b;
always @ (a)
begin
#100000
b=a;
end
展开
 我来答
汉语拼音aoe
2014-03-25 · TA获得超过319个赞
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:171万
展开全部
这个简单,你在always里面加一个计数过程,计数到10000时把a的值赋给b。。
还有你这个程序这么写是很不好的,没有时钟啊。。一般都在时钟的变化沿来控制其他变量变化的。。你的输入端口肯定要有个clk,然后用ucf约束到对应的板子的50Mhz的时钟引脚上。。不然怎么下板子
匿名用户
2014-03-25
展开全部
需要定义一个计数器,以下代码供参考

reg [7:0] a_buf;
always @ (posedge clk or negedge rst_n)
if(!rst_n)
a_buf <= 8'b0;
else
a_buf <= a;
always @ (posedge clk or negedge rst_n)
if(!rst_n)
cnt <= 20'b0;
else if (cnt >= 20'd100000)
cnt <= 20'b0;
else if (a_buf != a)
cnt <= 20'b1;
else if (cnt >= 20'b1)
cnt <= cnt + 1'b1;
always @ (posedge clk or negedge rst_n)
if(!rst_n)
b <= 8'b0;
else if (cnt == 20'd100000)
b <= a;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iweimo
2014-03-23 · TA获得超过128个赞
知道答主
回答量:96
采纳率:0%
帮助的人:52.7万
展开全部
#这个只能仿真用的,要定时的话,设计一个定时器吧。
追问
定时器不是要时钟输入吗?那么always里怎么写啊?
追答
always里可以调用task或function。具体用法看书吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式