编完了程序才听到有人说,UDP是不能被综合的??~~~汗~~求帮助~~
我是要做一个编码器的解码电路,如下图的样子:需要在每个A相和B相的跳变沿,改变计数器的值。
http://cache.amobbs.com/bbs_upload782111/files_33/ourdev_585710OVJ2EO.JPG
(原文件名:未命名.JPG)
编写了2个UDP来检测AB的跳变,后面的module里面将跳变信号转化为计数器加减值,但是发现程序下载到片子里面不能用啊,计数器的加减值不变的~~~~求助大虾看看是咋回事呢~~
//正转时,由AB相每个沿产生正向的跳变
primitive F_pulse(f_en,ain,bin,reset);
output f_en;
reg f_en;
input ain, bin,reset;
initial begin
f_en=0;
end
table
// ain bin reset: f_en_state : f_en_next
p 0 ? : ? : 1;
n 1 ? : ? : 1;
1 p ? : ? : 1;
0 n ? : ? : 1;
? ? n : ? : 0;
? ? ? : ? : -;
endtable
endprimitive
//反转时,由AB相每个沿产生正向的跳变
primitive R_pulse(r_en,ain,bin,reset);
output r_en;
reg r_en;
input ain, bin,reset;
initial begin
r_en=0;
end
table
// ain bin reset: r_en_state : r_en_next
p 1 ? : ? : 1;
n 0 ? : ? : 1;
0 p ? : ? : 1;
1 n ? : ? : 1;
? ? n : ? : 0;
? ? ? : ? : -;
endtable
endprimitive 是不是这种Udp
在模块里面用语句
//产生触发脉冲
F_pulse Fpulsein(f_en,ain,bin,f_out);
R_pulse Rpulsein(r_en,ain,bin,r_out);
没办法综合的呢?? 你把verilog想的太智能了。
你还是把需求写清楚,看看有哪位好心人帮你完成verilog程序吧 回复【2楼】liu7894
-----------------------------------------------------------------------
书里面讲UDP的那章都是那么写的嘛...........
没有一本书写不能综合的问题,我大哭啊!~~~~ 当然任意的UDP是没办法综合的,书里应该说了UDP是用来加速仿真的啊。
因为UDP很容易写出来实际很难被实现的电路结构,而且这种综合功能很难测试完全,
所以EDA工具商一般不会自找苦吃做这个功能。 定义两个module不行吗 回复【5楼】seemrain
定义两个module不行吗
-----------------------------------------------------------------------
应该可以,自己分析电平变化,自己写结构
页:
[1]