CPLD 的正交信号解码

[复制链接]
2403|6
 楼主| jiaxinhui 发表于 2007-11-14 17:35 | 显示全部楼层 |阅读模式
下图的波形,是传感器输出的正交信号,在正转时A超前B&nbsp;90&ordm;,在反转时A滞后B&nbsp;90&ordm;,我现在想用CPLD 做解码,目前用的是Verilog&nbsp;语言,目前写了一段程序,编译有问题,想请教有做过的朋友给点建议<br />https://bbs.21ic.com/upfiles/img/200711/20071114173319498.jpg<br />module&nbsp;DFF1(int0,int1,c,d);<br />input&nbsp;&nbsp;c,d;<br />output&nbsp;int0,int1;<br />reg&nbsp;int0,int1;<br />initial&nbsp;&nbsp;begin&nbsp;int1=0;end&nbsp;<br />always&nbsp;@(&nbsp;posedge&nbsp;c&nbsp;)<br />begin<br />if(d)&nbsp;int0=0;<br />else&nbsp;&nbsp;int0=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />end<br />always&nbsp;@(&nbsp;negedge&nbsp;c&nbsp;)<br />begin<br />if(d)&nbsp;int0=0;<br />else&nbsp;&nbsp;int0=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />end<br />always&nbsp;@(&nbsp;posedge&nbsp;d&nbsp;)<br />begin<br />if(c)&nbsp;int1=0;<br />else&nbsp;&nbsp;int1=1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />end<br />always&nbsp;@(&nbsp;negedge&nbsp;d&nbsp;)<br />begin<br />if(c)&nbsp;int1=0;<br />else&nbsp;&nbsp;int1=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />end<br />endmodule
xjg1111 发表于 2007-11-16 18:45 | 显示全部楼层

re

错误的提示的意思是:reg&nbsp;类弄的寄存器,不能在多个块中被赋值,仅能在一个模块中赋值。<br />你的语法是错误的。
MicroMMU 发表于 2007-11-15 02:03 | 显示全部楼层

这是我的框图,你可参考下。

 楼主| jiaxinhui 发表于 2007-11-15 08:45 | 显示全部楼层

编译的错误信息是;

编译的错误信息是;
 楼主| jiaxinhui 发表于 2007-11-16 16:42 | 显示全部楼层

以前是用CD系列逻辑芯片做的,

以前是用CD系列逻辑芯片做的,现在想用CPLD实现,但我不想外加时钟,只有A,B两相输入,然后两路输出,,,,那位前辈,有好的方法啊
MicroMMU 发表于 2007-11-17 11:41 | 显示全部楼层

没时钟怎么实现4倍频

  
jzt369 发表于 2007-11-19 19:55 | 显示全部楼层

!

编码器输出也是这样的信号关系,要时钟参与的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

922

帖子

9

粉丝
快速回复 在线客服 返回列表 返回顶部