当前位置:网站首页>TD联合Modelsim进行功能仿真
TD联合Modelsim进行功能仿真
2022-07-02 06:34:00 【Quikk】
TD联合Modelsim进行功能仿真
1 引言
最近在接触使用国产安路科技公司的FPGA进行相关的开发,TD(Tang Dynasty)作为一款安路FPGA开发工具与Quartus 使用大致相同,但仍旧有一定的不同。
2 基本配置流程
这里推荐以官方使用手册作为参考进行实践,首先需要完成TD软件内部的操作。

2.1 TD软件设置操作
1. Process ⇒ \Rightarrow ⇒ Properties ⇒ \Rightarrow ⇒ Optimize RTL :
rtl_sim_model :ON

2. Process ⇒ \Rightarrow ⇒ Properties ⇒ \Rightarrow ⇒ Optimize Gate :
gate_sim_model :ON

3. Process ⇒ \Rightarrow ⇒ Properties ⇒ \Rightarrow ⇒ Optimize Routing :
phy_sim_model :ON

4. Process ⇒ \Rightarrow ⇒ Properties ⇒ \Rightarrow ⇒ Timing Option :
sdf :ON

5.设置相关仿真参数

6.运行Simulation

7.选择相关测试文件(testbench文件)

这里有两种方式,第一种是添加已经存在的tb文件进行测试;第二种是新建一个新的测试文件。
8.完成上述步骤之后会生成两个文件:①testbench文件 ②脚本文件do文件。

完成这些步骤之后,TD软件这边的设置便已经完成,下面需要完成Modelsim软件方面的设置。
2.2 Modelsim软件方面设置
首先进入TD安装目录,在改目录下有一个文件夹为sim_release的文件,文件夹下是一些对应芯片的仿真文件,因为这里使用的芯片为EF2L45LG144B。所以仅复制EF2文件夹下的相关文件。(这里一定要注意根据芯片类型选择复制的文件夹)

在Modelsim安装根目录下新建一个文件夹(Anlogic),将刚才复制的EF2文件夹复制进新建的Anlogic >> src文件夹内。此时src文件夹内便存放着大量该芯片的仿真文件。

- 打开Modelsim,File ⇒ \Rightarrow ⇒ Change Directory ⇒ \Rightarrow ⇒ 修改当前目录为刚创建的Modelsim根目录下的Anlogic文件夹。


File ⇒ \Rightarrow ⇒ New ⇒ \Rightarrow ⇒ Library ⇒ \Rightarrow ⇒ 新建安路仿真库。库名字设置为EF2_ver。


5.Compile ⇒ \Rightarrow ⇒ Compile ⇒ \Rightarrow ⇒ 编译新库


6.回到TD软件,设置Lib,重新进行Simulation。

将TD工程目录下的tb文件和原始Verilog文件进行拷贝到modelsim根目录Anlogic文件夹下的新建文件夹内,作为工程文件。

8.在Modelsim中新建工程文件


9.为工程加入测试文件

10.加入文件后进行编译,编译之前一定要对tb文件进行初值的幅值与修改。即修改initial语句中的定义部分。


11.启动仿真,设置仿真文件,加入仿真库



12.仿真结果


边栏推荐
- C语言之到底是不是太胖了
- "Interview high frequency question" is 1.5/5 difficult, and the classic "prefix and + dichotomy" application question
- Statistical learning methods - Chapter 5, decision tree model and learning (Part 1)
- MySql报错:unblock with mysqladmin flush-hosts
- 机器学习实战:《美人鱼》属于爱情片还是动作片?KNN揭晓答案
- 记录一下初次使用Xray的有趣过程
- MySQL error: unblock with mysqladmin flush hosts
- ClassFile - Attributes - Code
- 分享一篇博客(水一篇博客)
- 告别996,IDEA中必装插件有哪些?
猜你喜欢

微服务实战|微服务网关Zuul入门与实战

自定義Redis連接池

MySQL multi column in operation

The channel cannot be viewed when the queue manager is running

图像识别-数据采集

深入剖析JVM是如何执行Hello World的

Learn combinelatest through a practical example

Matplotlib swordsman line - layout guide and multi map implementation (Updated)

Machine learning practice: is Mermaid a love movie or an action movie? KNN announces the answer

攻防世界-Web进阶区-unserialize3
随机推荐
自定义Redis连接池
Typora安装包分享
JVM指令助记符
Micro service practice | introduction and practice of zuul, a micro service gateway
Fragmenttabhost implements the interface of housing loan calculator
Creation and jump of activity
[go practical basis] how to verify request parameters in gin
"Interview high frequency question" is 1.5/5 difficult, and the classic "prefix and + dichotomy" application question
Actual combat of microservices | discovery and invocation of original ecosystem implementation services
BugkuCTF-web24(解题思路及步骤)
Machine learning practice: is Mermaid a love movie or an action movie? KNN announces the answer
C语言之到底是不是太胖了
Ora-12514 problem solving method
Learn combinelatest through a practical example
Watermelon book -- Chapter 6 Support vector machine (SVM)
互联网API接口幂等设计
个人经历&&博客现状
kinect dk 获取CV::Mat格式的彩色RGB图像(openpose中使用)
hystrix 实现请求合并
概念到方法,绝了《统计学习方法》——第三章、k近邻法