微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 讨教各位一个小问题!谢谢各位!

讨教各位一个小问题!谢谢各位!

时间:10-02 整理:3721RD 点击:
各位同仁,帮忙看一下:
在Verilog的一个module中,
模块的输入input integer n;
reg [11:0] data;
我想通过一个输入的数,来控制要处理的data的位。

例如,输入为3,那么低三位全置1;输入为5,那么低五位全置1;

也就是说,位索引为变量。

这样写,我编译都没有通过,但是好像VHDL中可以这样。
请各位帮忙解决一下,我在Verilog中怎么写这个代码最好?

不胜感激!

到膝?

晕死 怎么我写data [ i ] 变成data了!

谢谢楼上
那是论坛显示问题,好像论坛的网页自动识别一些特殊的代码

不用客气除了这种写法还可以用移位实现。
比如 data = {12{1'b1}} >> shift;实现
貌似综合时候移位结果并不理想,可能写成for还是好一些

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top