打印

如何计算verilog中的地址?

[复制链接]
1910|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
青蛙散步|  楼主 | 2008-11-19 20:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
设计了一个程序,需要定义一个行/列地址。
在程序中定义了一个X_REG,Y_REG分别作为行/列地址寄存器.程序如下:
input [15:0] datain;
input [1:0] a;
input clk;
output [19:0] address;
reg [9:0] X_REG;
reg [8:0] Y_REG;


always @ (posedge clk)
  begin
        case (a)
            2'b00 :   X_REG <= datain[9:0];
            2'b01:   Y_REG <= datain[8:0];
..................................
  end

问题是,在送完X_REB, Y_REG后,要进行一个运算:
address = 640*X_REG + Y_REG;
现在就不知道这个运算放在什么地方比较合适.如果放在always外面的话,站用的芯片资源会很大

相关帖子

沙发
zjf0000| | 2008-11-21 10:18 | 只看该作者

移位操作

使用特权

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

本版积分规则

8

主题

24

帖子

0

粉丝