首 页科技博览科普图片植物王国动物世界科普常识农村科普生活科普信息技术科普创作自然之谜
历史今天留言繁體中文
设为首页
加入收藏
联系我们
您当前的位置:科普知识网 -> 电子电工 -> IC电子 -> 博览内容 退出登录 用户管理
 

· 有线电视 · 电子系统
· 显示元件 · 接口电路
· 存储器 · 无线通信
· 传感控制 · EDA/PLD
· 单片机 · DSP技术
· 模拟技术 · 通信网络
· 测试仪表 · 视频音频
· 芯片应用 · 电子通信
· IC电子 · 电子设计
· 自控测量 · IC嵌入式
· IC系统 · EDA系统
· 传感控制 · 电源技术
· 接口电路 · 消费电子
· DSP产品 · 元件工艺
· 模拟技术 · 存储器设备
· 设计应用 · 智能网应用
· 电子电源 · 电子传感
热门博览
· 涡轮
· 什么是路肩?硬路肩?..
· 神秘的海底世界
· 民用飞机
· 电路设计
· 梁桥
· 航空发动机
· 环保--功在当代,利..
· 气球
· 双曲拱桥是一种什么..
相关博览
· 可编程控制器(PLC)..
· [组图] iCoupler数字..
· [组图] 基于CPLD的任..
· IR 镇流器设计软件I..
· [组图] PLC软元件在电..
· Synplicity网站有Sy..
· LVDS Example
· PLC与FIELD BUS
· PLC的英文全称是什么..
· [图文] 集成的PLD/FP..

PLI步步为营 -- 二、PLI中的helloworld程序

作者:佚名  来源:不详  
PLI步步为营 -- 二、PLI中的helloworld程序

在学习几乎所有的编程语言时,基本上学习的第一个程序就是helloworld程序,在PLI学习中,也从helloworld开始!^_^

我们知道要完成一个PLI程序,需要有3个文件:veriuser.c, hello.c, hello.v。
  veriuser.c链接C语言函数和verilog系统函数之间的对应关系。
  hello.c 中写着C语言函数hello()
  hello.v 里调用系统函数以执行hello.c里的hello()函数。

1. veriuser.c的编写
 

2. hello.c 编写
  在PLI的C程序中,不需要main函数,因为这里的C语言文件不需要单独编译执行。只需要提供单独的函数就可以。
  以下是hello.c的代码:
 
 
hello()
  {
    io_printf(" Hello World ! ");

  }
 

3. hello.v 的编写
  在hello.v中调用系统任务来调用hello()函数,以下是hello.v 代码:
 
  module hello();
  initial $hello();

endmodule

现在3个函数都编写完毕了。其中的C语言需要编译执行成C库文件。
用以下命令执行:
 

gcc -c -o hello.o -I $(CDS_INSTALL_DIR)/include hello.c
gcc -c -o veriuser.o -I $(CDS_INSTALL_DIR)/include veriuser.c
gcc -shared -o hello.so veriuser.c hello.c


在编译完库文件以后,只需要在跑simulation的时候,加上调用PLI选项,调用方式如下:
 
ncverilog +access+wrc +loadpli1=hello.so:hellostrap


结果如下:



 

今天就讲到这里, 下一节讲述另一个PLI重要程序:从verilog获取值,传递到C程序中。


免责声明:作品版权归所属媒体与作者所有!!本站刊载此文仅为普及科学技术知识提供更多信息。如果您认为我们侵犯了您的版权,请告知!本站核实后立即删除。kpzsnet#126.com (#改为@)
[] [返回上一页] [打 印] [收 藏]
∷相关博览评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 帮助 - 合作 - 声明 - 连接 - 地图 -
Copyright ?2002-2005 Kpzs.Net. All Rights Reserved .
BY::KPZS.NET