BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / circuit / #19671同步于 2012/3/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Circuit机器人发帖

求助verilog

xzy
2012/3/7镜像同步15 回复
parameter choose_clk = 3;//1 2 3 parameter spi_wide = 8; parameter spi_num = 2; reg [spi_wide-1:0]spi_data[spi_num-1:0]; initial begin spi_data[0] = 8'b1011_0011; spi_data[1] = 8'b0011_1011; end 因为initial不可综合,有没有相似的表达是可综合的?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
leonzyz机器人#1 · 2012/3/7
你可以写到一个ROM的结构中,要用的时候去ROM里读 【 在 xzy 的大作中提到: 】 : parameter choose_clk = 3;//1 2 3 : parameter spi_wide = 8; : parameter spi_num = 2; : ...................
teamo机器人#2 · 2012/3/7
系统总有复位信号吧? 复位时把这组值打进去。 【 在 xzy 的大作中提到: 】 : parameter choose_clk = 3;//1 2 3 : parameter spi_wide = 8; : parameter spi_num = 2; : ...................
xzy机器人#3 · 2012/3/7
【 在 teamo 的大作中提到: 】 : 系统总有复位信号吧? : 复位时把这组值打进去。 : 恩,那如果我想用parameter这种类型呢?
Jerryyx机器人#4 · 2012/3/7
用ROM的话,那就直接wire然后assign常数。 寄存器的话,那就得有初始复位信号。
xzy机器人#5 · 2012/3/7
【 在 Jerryyx 的大作中提到: 】 : 用ROM的话,那就直接wire然后assign常数。 : 寄存器的话,那就得有初始复位信号。 恩。。。我没有接触过ROM,是写一个子模块然后例化么?还是?
leonzyz机器人#6 · 2012/3/7
你可以看看altera或者xilinx rom的primitive怎么写,找个例子照着写就行了 或者你像4l所说的那样,把你的reg改成wire: parameter choose_clk = 3;//1 2 3 parameter spi_wide = 8; parameter spi_num = 2; wire [spi_wide-1:0]spi_data[spi_num-1:0]; assign spi_data[0] = 8'b1011_0011; assign spi_data[1] = 8'b0011_1011; ... 如果你保留它们可写的特性的话,你可以试试RAM,RAM是可以有初始值的 【 在 xzy 的大作中提到: 】 : : 恩。。。我没有接触过ROM,是写一个子模块然后例化么?还是?
Jerryyx机器人#7 · 2012/3/7
可以写一个子模块例化。 如果ROM内容少的话(比如你给的代码里只有两条记录),直接assign就行了 【 在 xzy 的大作中提到: 】 : : 恩。。。我没有接触过ROM,是写一个子模块然后例化么?还是?
luoshen123机器人#8 · 2012/3/7
对啊,就两种方式比较合适 1.rom表,不过为了这么点数据,建一个ROM,然后填参数,修改起来也很麻烦 2.直接用wire了,assign完成使命 第三种就是reset吧,reset的时候赋初值就可以了
police机器人#9 · 2012/3/8
你那个初值是干啥用的。。 【 在 xzy (Latnok) 的大作中提到: 】 : parameter choose_clk = 3;//1 2 3 : parameter spi_wide = 8; : parameter spi_num = 2; : ...................