集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: lcytms

跟李凡老师学FPGA之D01:数电基础复习、介绍FPGA工具及流程(20160423课堂笔记)

[复制链接]
 楼主| lcytms 发表于 2016-10-9 11:47:40 | 显示全部楼层
本帖最后由 lcytms 于 2016-10-9 11:49 编辑

1350
        下面呢,同学可以跟着我一起做,点击文件,选择新工程向导,1/5如图。
1351
        (如图)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-10-9 11:50:57 | 显示全部楼层
本帖最后由 lcytms 于 2016-10-9 11:53 编辑

1352
        跳过2/5,3/5选择一款器件。
1353
        4/5选择仿真工具,Modelsim-Altera,语言选择Verilog。
        5/5选择finish。
        这个步骤我们会贯彻这100天,一定要用新工程向导。
        下面开始建模。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-10-9 11:56:07 | 显示全部楼层
1354
        新建一个.v文件,立刻另存为,另存为有两个目的,一是找到路径,二是给它取个名字。
1355
        编写模块代码,进行显式建模。
1356
        无论是什么情况,先结构,后代码。
1357
1358
1359
        输入代码,并进行框架检查,按Ctrl + S、Ctrl + K。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-10-9 13:42:22 | 显示全部楼层
1400
        明天我们来说明,为什么要写reg。
        因为行为的输出要声明成reg,并不是一个真正的寄存器。
1401
        写always模块。
1402
        阻塞、非阻塞我们以后会讨论,是沿我们就用非阻塞。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-10-9 13:47:23 | 显示全部楼层
1403
        进行框架检查,按Ctrl + S、Ctrl + K。下面为它写验证。
        这段抽象的电路模型,我们把它置于一个抽象的测试平台之中。
1404
1405
1406
1407
        我们用语言的形式来产生信号发生器。
        现在我们来编写模块的Testbench。
1408
1409
1410
1411
1412
1413
        用行为语句来写。Initial称之为一个初始化的行为。
        always是循环行为,总之它是一种描述方式。
1414
1415
        在testbench中,时钟写1永远比写0好,因为它是时钟上升沿的整数倍。
1416
        写时钟。
        写复位。
        以后我们再来讲同步复位和异步复位的区别。       
1417
        $是系统任务,stop是系统任务的函数。
        Testbench写完后检查一次。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-10-9 13:52:08 | 显示全部楼层
本帖最后由 lcytms 于 2016-10-9 13:53 编辑

1418
        运行仿真有各种各样的方法。
        Quartus保留了原始验证方式,可是所有说明上面都会说到用Modelsim来做验证。
1419
        Modelsim来做验证有什么好处?
        现在看来,Modelsim的仿真工具、优化、速度、结构都是最好的。
1420
        另外,出于知识产权保护的目的,一些大的IP核,Modelsim里面有它加密的编译库。
1421
        下面我们来看,使用Modelsim怎么做。
        使用Modelsim要跨平台,由于FPGA设计时,需要在器件厂商的集成平台上进行综合,验证,编程和其它操作,当使用第三方仿真工具时,许多文件需要跨平台调用,以及有许多繁琐的设置和操作,这在人工方式时非常不方便。
        Altera的Quartus II提出一种一键Ok的跨平台自动化方式,称其为NativeLink。
1422
        (如图)
1423
        无论设计的工程有多大,多复杂,无论是否使用了Mega Core,无论是前仿或后仿,其操作方式都是同样的,使得设计者可以将注意力真正放在自己的设计上,即有利于研发进度,也有利于操作验证标准化。
        使用NativeLink时要注意层次化设计(Top-Down),将需要测试的部件模型放入到当前工程的层次化中。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-10-9 13:55:22 | 显示全部楼层
1424
        我们先做NativeLink的设置。
1425
1426
1427
        Quartus建议,在跨平台之前,再做一次分析和综合。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-10-9 13:58:06 | 显示全部楼层
1428
        然后先做前仿。
        打开wave,点击全局放大的按钮,改变q的radix显示格式为无符号数。
1429
1430
1431
        修改时间。Run 1 ms。
1432
        前仿证明功能通过了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-10-9 14:01:12 | 显示全部楼层
1433
        实际电路中,16个数据通路每个都会有自己的延时。
        现在我们来看看后仿。
1434
        修改testbench中的停止时间为2000000(2ms)。
        保存后回到仿真上。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-10-9 14:05:20 | 显示全部楼层
1435
        在testbench中重新编译修改过的代码,检查没有错误后,点重新开始后,再点Run –all,生成新的波形。
1436
        后仿需要做一件事,就是全编译。
1437
        后仿选择慢模,点击run。
1438
        找到从65535回到0的位置,我们看到窗口翻转有前有后,并且是在时钟上升沿的右侧发生。
        后仿甚至比用逻辑分析仪、示波器看到的还要更真实。
        因为逻辑分析仪、示波器会有一个传输线延迟,这个会更准确。
1439
        关于手工配置的过程,我明天再来给大家做分享。
        后面会下发下午的练习。并解答问题。
(休息)
       

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-24 03:26 , Processed in 0.061238 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表