在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5469|回复: 8

继续请教:verilog里如何调用LPM宏单元库

[复制链接]
发表于 2004-3-12 10:42:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
:em25: 我用的软件是Maxplus2,应该支持库管理功能啊,我是在综合项目文件时,选择了options/user libraries,添加了max2lib\mega_lpm。这样的话应该可以直接使用lpm_ram_qd了吧。可还是编译出错啊。
module ram(data,address,we,inclock,outclock,q);
input[7:0] data;
input[7:0] address;
input we,inclock,outclock;
output[7:0] q;
lpm_ram_qd myram(.q(q),.data(data),.address(address),.we(we),.inclock(inclock),.outclock(outclock));
defparam myram.lpm_width=8;
defparam myram.lpm_widthad=8;
endmodule
编译出错
错误信息:verilog HDL syntax error: "lpm_ram_qd" must be a module,task,function or block statement
多谢各位大虾,请继续指点啊
发表于 2004-3-12 11:04:16 | 显示全部楼层

继续请教:verilog里如何调用LPM宏单元库

暂时不理解,先问一下,你的feature都用上了么?在licence设置中
 楼主| 发表于 2004-3-12 11:14:09 | 显示全部楼层

继续请教:verilog里如何调用LPM宏单元库

我用crack的,应该所有功能都有的
 楼主| 发表于 2004-3-12 11:15:34 | 显示全部楼层

继续请教:verilog里如何调用LPM宏单元库

我查了,都有了
发表于 2004-3-13 11:50:46 | 显示全部楼层

继续请教:verilog里如何调用LPM宏单元库


module lpm_ram_dq 没有定义啊,拷一个到你的工程里面,它只定义IO,里面不需要内容,相当于black_box
看我的用法,既可仿真,又可综合

module lpm_ram_dq ( q, data, we, address );
  parameter lpm_type = "lpm_ram_dq";
  parameter lpm_width = 1;
  parameter lpm_widthad = 1;
  parameter lpm_numwords = 1 << lpm_widthad;
  parameter lpm_indata = "REGISTERED";
  parameter lpm_address_control = "REGISTERED";
  parameter lpm_outdata = "REGISTERED";
  parameter lpm_file = "UNUSED";
  parameter lpm_hint = "UNUSED";
  input  [lpm_width-1:0] data;
  input  [lpm_widthad-1:0] address;
  input  we;
  output [lpm_width-1:0] q;
// synopsys translate_off
// 用于仿真
// 定义存储器
reg[7:0] mem[0:127];
// 初始化存储器
always @(we or data or address)
if(we) mem[address]=data;
assign q =  mem[address] ;
// synopsys translate_on
endmodule // lpm_ram_dq
 楼主| 发表于 2004-3-14 21:28:28 | 显示全部楼层

继续请教:verilog里如何调用LPM宏单元库

多谢wj1973!
不过还是不行啊,是不是我的软件有问题啊
我用的maxplus10.0,应该支持verilogHDL的阿
编译有新的错误了:
unsupported verilog HDL feature error:Memory
是对reg[7:0] mem[0:127]这一句报错的
我去掉这几句:
reg[7:0] mem[0:127];
// 初始化存储器
always @(we or data or address)
if(we) mem[address]=data;
assign q =  mem[address] ;
后,编译还是产生原来的错误
真是搞不懂了
发表于 2004-3-15 13:00:09 | 显示全部楼层

继续请教:verilog里如何调用LPM宏单元库

我试了一下,确实不行,编译通不过
我一直用其它软件做综合,转成EDIF文件,然后到MAXPLUSII编译
MAXPLUSII支持VERILOG很差的
发表于 2004-3-16 22:34:06 | 显示全部楼层

继续请教:verilog里如何调用LPM宏单元库

module ram(address,inclock,we,data,q);
input[7:0]  address;
input  inclock;
input  we;
input[7:0]  data;
output[7:0]  q;
wire [7:0] sub_wire0;
wire [7:0] q = sub_wire0[7:0];
lpm_ram_dqlpm_ram_dq_component (
.address (address),
.inclock (inclock),
.data (data),
.we (we),
.q (sub_wire0));
defparam
lpm_ram_dq_component.lpm_width = 8,
lpm_ram_dq_component.lpm_widthad = 8,
lpm_ram_dq_component.lpm_indata = "REGISTERED",
lpm_ram_dq_component.lpm_address_control = "REGISTERED",
lpm_ram_dq_component.lpm_outdata = "UNREGISTERED",
lpm_ram_dq_component.lpm_hint = "USE_EAB=ON";
endmodule
发表于 2004-8-13 11:06:31 | 显示全部楼层

继续请教:verilog里如何调用LPM宏单元库

module ram(data,address,we,inclock,outclock,q);
input[7:0] data;
input[7:0] address;
input we,inclock,outclock;
output[7:0] q;
lpm_ram_dq myram(.q(q),.data(data),.address(address),.we(we),.inclock(inclock),.outclock(outclock));
defparam myram.lpm_width=8;
defparam myram.lpm_widthad=8;
endmodule
lpm_ram_dq!!! 你写成lpm_ram_qd了,粗心~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 19:44 , Processed in 0.036572 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表