当前位置:网站首页>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.仿真结果


边栏推荐
- DTM distributed transaction manager PHP collaboration client V0.1 beta release!!!
- Read 30 minutes before going to bed every day_ day4_ Files
- Activity的创建和跳转
- JDBC回顾
- Read 30 minutes before going to bed every day_ day3_ Files
- Statistical learning methods - Chapter 5, decision tree model and learning (Part 1)
- C语言之到底是不是太胖了
- C语言之数据插入
- Redis 序列化 GenericJackson2JsonRedisSerializer和Jackson2JsonRedisSerializer的区别
- C语言之最小数
猜你喜欢

机器学习实战:《美人鱼》属于爱情片还是动作片?KNN揭晓答案

数构(C语言--代码有注释)——第二章、线性表(更新版)

Creation and jump of activity

记录一下初次使用Xray的有趣过程

Statistical learning methods - Chapter 5, decision tree model and learning (Part 1)

Read Day6 30 minutes before going to bed every day_ Day6_ Date_ Calendar_ LocalDate_ TimeStamp_ LocalTime
![[go practical basis] how to set the route in gin](/img/23/f38d68c4fd238d453b9a7670483002.png)
[go practical basis] how to set the route in gin

Chrome浏览器标签管理插件–OneTab
![[go practical basis] gin efficient artifact, how to bind parameters to structures](/img/c4/44b3bda826bd20757cc5afcc5d26a9.png)
[go practical basis] gin efficient artifact, how to bind parameters to structures

Micro service practice | introduction and practice of zuul, a micro service gateway
随机推荐
Discussion on improving development quality and reducing test bug rate
[go practical basis] how to bind and use URL parameters in gin
Matplotlib剑客行——布局指南与多图实现(更新)
C语言之判断直角三角形
Microservice practice | load balancing component and source code analysis
C语言之到底是不是太胖了
Read 30 minutes before going to bed every day_ day4_ Files
C语言之二进制与十进制
Mysql默认事务隔离级别及行锁
[go practical basis] how to install and use gin
企业级SaaS CRM实现
C语言之数据插入
记录一下初次使用Xray的有趣过程
How to install PHP in CentOS
Number structure (C language -- code with comments) -- Chapter 2, linear table (updated version)
C语言之最小数
Required request body is missing:(跨域问题)
微服务实战|熔断器Hystrix初体验
Oracle modifies tablespace names and data files
攻防世界-Web进阶区-unserialize3