huqiaohui
驱动牛犊
驱动牛犊
  • 注册日期2003-07-04
  • 最后登录2005-06-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1636回复:14

如何用cpld实现对一个输出连续赋值?

楼主#
更多 发布于:2003-11-04 09:50
我用状态机实现对一个输出进行多次赋值,一共用了128个状态,logic systhesizer的时候报错,内容如下:
Internal Error: (ls_)left_paren not found 6-Try Turning on \"Multi_Level Synthesis\" in the Global Project Logic Synthesis dialog box (Assign menu)
请问这是什么问题?
还有,如果我把输出定义成inout型,编译时也报错,描述为:
Else Clause follow a clock edge must hold the state of signal \"...\"(其中...为输出)

多谢!
green_pine
驱动太牛
驱动太牛
  • 注册日期2002-10-22
  • 最后登录2019-06-10
  • 粉丝3
  • 关注0
  • 积分48分
  • 威望599点
  • 贡献值1点
  • 好评度144点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-11-04 09:52
第二个错误应该你的程序中出现了这样的语句:
if(clk\'event.....)then
......
else
.....
huqiaohui
驱动牛犊
驱动牛犊
  • 注册日期2003-07-04
  • 最后登录2005-06-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-04 09:59
这种情况不能用else吗?
green_pine
驱动太牛
驱动太牛
  • 注册日期2002-10-22
  • 最后登录2019-06-10
  • 粉丝3
  • 关注0
  • 积分48分
  • 威望599点
  • 贡献值1点
  • 好评度144点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-11-04 10:11
这种情况不能用else吗?
不能,你想想,时钟沿的非是什么情况?
link_bridge
驱动巨牛
驱动巨牛
  • 注册日期2002-11-28
  • 最后登录2011-05-15
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-11-04 12:07
这种情况不能用else吗?


不可以的哟!
 :D
link_bridge
驱动巨牛
驱动巨牛
  • 注册日期2002-11-28
  • 最后登录2011-05-15
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-11-04 12:12
把你的程序发过来我看看。
3650054@163.com
huqiaohui
驱动牛犊
驱动牛犊
  • 注册日期2003-07-04
  • 最后登录2005-06-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-11-04 13:20
已经给您发过去了,请帮忙看一下,谢谢!
link_bridge
驱动巨牛
驱动巨牛
  • 注册日期2002-11-28
  • 最后登录2011-05-15
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-11-04 13:58
看过了!
你换个大一点器件就没问题了,可能你编译时选择的器件门数不够!
另外:你的输入信号有几个没用到。
你的设计可以不用状态机,用个不大的记数器就可以 实现!
这样所占cpld的容量可以很少。
huqiaohui
驱动牛犊
驱动牛犊
  • 注册日期2003-07-04
  • 最后登录2005-06-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-11-04 14:14
您指的是hh2.vhd换个大点的器件就可以了吗?
link_bridge
驱动巨牛
驱动巨牛
  • 注册日期2002-11-28
  • 最后登录2011-05-15
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-11-04 14:23
说的hh3.vhd

hh2.vhd没看!

[编辑 -  11/4/03 by  link_bridge]
huqiaohui
驱动牛犊
驱动牛犊
  • 注册日期2003-07-04
  • 最后登录2005-06-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-11-04 14:28
多谢!
hh2.vhd您也帮我看一下吧!
您认为哪一种方案比较好?
link_bridge
驱动巨牛
驱动巨牛
  • 注册日期2002-11-28
  • 最后登录2011-05-15
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-11-04 15:19
第2种逻辑错误太厉害了。
要好好修改!
huqiaohui
驱动牛犊
驱动牛犊
  • 注册日期2003-07-04
  • 最后登录2005-06-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-11-05 14:37
我按您的建议将hh3的没用到的输入删掉了,并且换了一个大一点的器件,最后编译有一个警告:
GLOBAL primitive on node \'ena\' feeds logic-non-global signal usage may result,请问这是什么意思?
还有,我仿真得到的图形也乱七八糟,是不是跟这个有关?
link_bridge
驱动巨牛
驱动巨牛
  • 注册日期2002-11-28
  • 最后登录2011-05-15
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-11-05 15:07
上班比较忙!
回去给你看看!
link_bridge
驱动巨牛
驱动巨牛
  • 注册日期2002-11-28
  • 最后登录2011-05-15
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望13点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-11-05 19:54
出现了误码!
修改设计,你的 第2个 process 的敏感变量用CK吧!
我建议用计数器做很容易的具体你自己做。
游客

返回顶部