打印

Verilog PLI 应用举例

[复制链接]
1597|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shang651|  楼主 | 2012-10-18 21:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

所谓PLI乃一装B技术而已,它是当年Verilog HDL语言诞生之时预留的一个接口,可以对接CC++一类的外部语言,后来靠此发展出了systemCsystemVerilog。这些都是老黄历了,不提也罢,时代发展了,所谓长江后浪推前浪,前浪死在沙滩上。因此我们也没必要把孔老二拉出来唬人。因此,此专题,原创博文仅此一篇,算是祭文,以后还是老老实实学习诸如scsv一类的新生代语言吧!

Cadence环境中

工具:
1.Cadence_9.2 ncverilog9.2
2.Linux环境,gcc 4.1.2


cat hello.c

#include “veriuser.h”
static PLI_INT32 hello()
{
printf(“Hello Everybody!You are great!\n”);
};

注册函数
cat veriuser.c
#include “veriuser.h”
#include “vxl_veriuser.h”
#include “hello.c”

s_tfcell veriusertfs[]={
{usertask,0,0,0,hello,0,”$hello”,0},
{0}
};

头文件
veriuser.h
vxl_veriuser.h
请在cadence安装目录下寻找对应的版本

cat Makefile
all
@{MAKE-s clean run
clean:
/bin/rm -rf *.log *.so
run:
${MAKE} -s link cp
link:
gcc -shared -fPIC -o libpli.so veriuser.c hello.c
cp:
cp *.so ../


make后就得到了你所需的 libpli.so,然后将其填加在仿真器中

ncverilog \
+loadpli1=$PATH/libpli.so \
$OtherOption

然后运行等着看你的杰作吧!

ModelSim下的举例将再以后填加!稍安毋躁!

相关帖子

沙发
gaochy1126| | 2012-10-18 21:52 | 只看该作者
PLI是干什么的东西?

使用特权

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

本版积分规则

17

主题

305

帖子

1

粉丝