当前位置: 首页 > news >正文

Diamond软件的使用--(5)查看原语

1.什么是原语?

原语,英文名称primitive,是FPGA软件集成开发环境所提供的一系列底层逻辑功能单元。

当编译器对HDL代码进行编译时,其中间环节的一些输出往往就是由原语组成的逻辑网表。           

因此,原语往往是不参与综合过程的,而使用原语描述的逻辑往往也不会被综合工具所优化。

2.什么时候用原语

一般来说,在进行HDL代码编写时,不需要直接或间接地进行原语调用,不过有些时候,原语或者

库中底层模块的调用还是十分必要的。                                                                                           

举个例子,比如想输出差分对信号,HDL代码只能描述功能,无法表达“某两个pin(或pad)脚互

为一个差分对”这样的一层意思,所以此时直接调用差分对原语即可。

3.常见的原语有哪些

以xilinx为例,常见的原语可分为计算组件、IO端口组件、寄存器/锁存器、时钟组件、RAM/ROM组件等。

4.不同厂商的原语能否通用?

由于是底层逻辑功能单元,所以它们往往跟目标FPGA芯片以及芯片厂商紧密相关,因此不同厂

商、不同器件的原语往往不能通用。

5.如何查看Lattice器件的原语

1)通过Diamond软件界面查看

此处以Diamond支持的器件为例,在Start Page界面可直接打开原语介绍文档

2)通过Diamond底层库仿真文件查看原语                                                                                        

X: diamond\3.x版本\cae_library\simulation\verilog                                                                           

打开该目录就会发现其实此处即为modelsim编译Lattice库所在路径

6.使用Lattice器件原语的几个方法

1)根据库指导写代码调用原语模块,最终通过modelsim仿真原语功能                                              

过程讲解略,参考编译lattice仿真库相关文章即可完成仿真

2)观察某些IP核,其实内部也调用的原语,学习IP核使用原语                                                         

 比如以下是DDR_GENERIC_Transmit的IP核Verilog文件内部,                                                   

我们可以看到文件中调用了OB原语

我们直接查看原语内容和原语库说明,即可知道原语的用法。

相关文章:

  • 【HTTP 传输过程中的 cookie】
  • 基于springboot和vue项目使用docker部署项目到服务器
  • 【DeepSeek 学c++】dynamic_cast 原理
  • Linux驱动学习笔记(六)
  • HAL库中串口中断开启
  • 23种设计模式(扩展)
  • Elasticsearch 倒排索引 和 正排索引
  • 健康养生:拥抱生活,从呵护身心开始
  • [OpenCV】相机标定之棋盘格角点检测与绘制
  • 集成学习(Ensemble Learning)基础知识2
  • 2025-03-21 Unity 网络基础3——TCP网络通信准备知识
  • 对比4款远程控制软件,画质、性能、功能谁全面?
  • Matplotlib
  • [特殊字符] 2025蓝桥杯备赛Day10——B2120 单词的长度
  • 高效字符串匹配:KMP算法
  • vscode连接本地mysql数据库
  • AIGC智能体(Ai星图)
  • vue-cli如何正确关闭prefetchprefetch和preload
  • go命令使用
  • 【40】单片机编程核心技巧:static 的重要作用
  • 广东省原省长卢瑞华逝世,享年88岁
  • 中巡组在行动丨①震慑:这些地区有官员落马
  • 中国科考船在钓鱼岛附近活动,外交部:完全是中国主权权利范围内的事
  • 媒体谈法院就“行人相撞案”道歉:执法公正,普法莫拉开“距离”
  • 宇数科技王兴兴:第一桶金来自上海,欢迎上海的年轻人加入
  • 马新民卸任外交部条约法律司司长