Ian11122840 发表于 2010-9-26 13:54:26

编完了程序才听到有人说,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

Ian11122840 发表于 2010-9-26 14:45:44

是不是这种Udp

在模块里面用语句

        //产生触发脉冲
        F_pulse Fpulsein(f_en,ain,bin,f_out);
        R_pulse Rpulsein(r_en,ain,bin,r_out);

没办法综合的呢??

liu7894 发表于 2010-9-26 15:33:40

你把verilog想的太智能了。
你还是把需求写清楚,看看有哪位好心人帮你完成verilog程序吧

Ian11122840 发表于 2010-9-26 15:46:29

回复【2楼】liu7894
-----------------------------------------------------------------------

书里面讲UDP的那章都是那么写的嘛...........

没有一本书写不能综合的问题,我大哭啊!~~~~

minux 发表于 2010-9-27 01:41:42

当然任意的UDP是没办法综合的,书里应该说了UDP是用来加速仿真的啊。

因为UDP很容易写出来实际很难被实现的电路结构,而且这种综合功能很难测试完全,
所以EDA工具商一般不会自找苦吃做这个功能。

seemrain 发表于 2010-9-27 09:29:00

定义两个module不行吗

Ian11122840 发表于 2010-9-27 23:05:23

回复【5楼】seemrain
定义两个module不行吗
-----------------------------------------------------------------------

应该可以,自己分析电平变化,自己写结构
页: [1]
查看完整版本: 编完了程序才听到有人说,UDP是不能被综合的??~~~汗~~求帮助~~