如何计算verilog中的地址?

[复制链接]
2672|1
 楼主| 青蛙散步 发表于 2008-11-19 20:17 | 显示全部楼层 |阅读模式
设计了一个程序,需要定义一个行/列地址。<br />在程序中定义了一个X_REG,Y_REG分别作为行/列地址寄存器.程序如下:<br />input&nbsp;[15:0]&nbsp;datain;<br />input&nbsp;[1:0]&nbsp;a;<br />input&nbsp;clk;<br />output&nbsp;[19:0]&nbsp;address;<br />reg&nbsp;[9:0]&nbsp;X_REG;<br />reg&nbsp;[8:0]&nbsp;Y_REG;<br /><br /><br />always&nbsp;@&nbsp;(posedge&nbsp;clk)<br />&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;(a)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2'b00&nbsp;:&nbsp;&nbsp;&nbsp;X_REG&nbsp;&lt=&nbsp;datain[9:0];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2'b01:&nbsp;&nbsp;&nbsp;Y_REG&nbsp;&lt=&nbsp;datain[8:0];<br />..................................<br />&nbsp;&nbsp;end<br /><br />问题是,在送完X_REB,&nbsp;Y_REG后,要进行一个运算:<br />address&nbsp;=&nbsp;640*X_REG&nbsp;+&nbsp;Y_REG;<br />现在就不知道这个运算放在什么地方比较合适.如果放在always外面的话,站用的芯片资源会很大
zjf0000 发表于 2008-11-21 10:18 | 显示全部楼层

移位操作

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

24

帖子

0

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