打印

请教一个assign语句

[复制链接]
1961|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lizardno1|  楼主 | 2011-11-18 21:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
部分程序如下:
申明语句:
inout [15:0]                       PORT1;

reg  [(FIFOWITH-1):0]       data2usb;

结果我在always里面写了如下
begin
         data2fpga <= PORT1;
         assign PORT1 = 16'b0000000000000000;
      end

编译产生如下错误

Error (10137): Verilog HDL Procedural Assignment error at USB_FPGA.v(104): object "PORT1" on left-hand side of assignment must have a variable data type
其他几处用到PORT1的也是同样的错误

Verilog里面inout不是默认是wire类型的吗?为什么上面用assign会报错,搞不懂了。。。


相关帖子

沙发
GoldSunMonkey| | 2011-11-18 21:46 | 只看该作者
Assign不能用在always里面

使用特权

评论回复
板凳
lizardno1|  楼主 | 2011-11-18 22:02 | 只看该作者
本帖最后由 lizardno1 于 2011-11-18 22:27 编辑

2# GoldSunMonkey
感谢!初学者,很多小白问题。。。
那版主,我再建立一个reg型的变量,在always模块里先将数据传给这个reg变量,在always模块外用assign将这个reg赋值给端口,这应该可以把?
试了一下,可以了!

使用特权

评论回复
地板
GoldSunMonkey| | 2011-11-18 23:11 | 只看该作者
嗯,可以:)

使用特权

评论回复
5
GoldSunMonkey| | 2011-11-18 23:11 | 只看该作者
:lol谢谢啦。

使用特权

评论回复
6
yb49781783| | 2011-11-21 14:15 | 只看该作者
data2fpga <= PORT1;
          PORT1 = 16'b0000000000000000;
可以同时进行阻塞和费阻塞赋值吗?

使用特权

评论回复
7
GoldSunMonkey| | 2011-11-21 16:31 | 只看该作者
这个可以参考论坛里面我的**

使用特权

评论回复
8
GoldSunMonkey| | 2011-11-21 17:09 | 只看该作者
9
AutoESL| | 2011-11-22 09:22 | 只看该作者
嗯,这样可以

使用特权

评论回复
10
GoldSunMonkey| | 2011-11-22 14:29 | 只看该作者
:)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

55

帖子

0

粉丝