集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: lcytms

跟李凡老师学FPGA之D03:使用tcl脚本(数码管)、二进制转BCD(20160425课堂笔记)

[复制链接]
 楼主| lcytms 发表于 2017-3-5 22:05:05 | 显示全部楼层
0907
        因为分频呢,希望是很准确的分频,就是我们这个模块是单一的模块,它的功能是单一的。
        它就是10k周,10k周就是它的功能,就是它的性能指标。
        它就是在10k周的时钟驱动之下,达到这样的功能,就是把24根线的16进制转成led的driver的信号,就是七段码以及选择信号。
        它就是完成这个功能,所以说它需要的必要的条件,就是实现这个信号,就是实现这个信号这个准确的数值。
        那么我们应该用准确的方式来得到10k周的信号。
        电路实现的时候,可能有很多种方式,得到10k周的信号。
        10k周的信号,可能这个模块要用,其它的模块也要使用,使得电路的化简、电路的结构变得容易。
        这是第一个理由。
0908
        第二个理由呢,就是IP,就是我们所说的intellectual property,电路可重用的代码,这是跟EDA的特征是相关联的。
        EDA它是一个电路嘛,它描述的是一个电路,不能够像软件一样。
        软件当然也讲代码的重用,简单的代码甚至可以直接写一遍,可是这是一段电路。
        电路需要一些验证、一些建模的必要性,或者说它的面积、速度的一些优势。
0909
        这个时候应该尽量地用已经被证明了的、有面积速度优势的电路模型。
        这就是固定的这段代码。
        也就是说,这个模块,我们现在写的driver这个模块,你做分频是多此一举,因为你做了不需要做的事情。
        Driver就是driver,目的、功能就是二进制、十六进制转成七段码,你不要做其它事。
        分频谁做,这是单独的一个功能,单独的一个电路模块来实现。
        这样的话呢,每个电路模块实现具体的任务明确的情况下,就容易做到速度面积优化。
        下板应该是很成功的。
0910
        下面呢,没有做完的这些同学,下午做练习的时候,可以跟着我做一遍,就是我们说所谓follow me的一个过程。
        就是我会一步一步的来做,打完了一页以后我会等着你。
        然后呢,设计的过程中,如果有不理解的,我一定会给你解答,你理解了,我们就往后面走,我们争取这个led driver所有的同学都能做出来。
        之后呢,我来说一下这个开发板怎么用。
        就是国内也有一些做法,我是一直在企业里面来做,所以说我对我们的同行,我们国内的工程师,他们的优点,好处在什么地方,以及他们的缺点,不足之处在什么地方。
        我还是有一些体会的。
 楼主| lcytms 发表于 2017-3-5 22:07:54 | 显示全部楼层
0911
        而且我也在外企工作过,而且我们完全没有跟境外的项目合作过,我们也只知道自己是怎么做的。
        所以说呢,我呢还是有一定的资格来说这句话,就是我们的中国工程师应该怎么做。
        我一直在中国企业做,我也跟外企合作过,我现在也在研究国外的EDA的方案,这些前沿的它们的工具理论方法。
        所以说我就注意到,我们的中国工程师要赶上国际水平,应该怎么做?
        应该对齐国际标准,其中就有一点,就是开发板的使用问题。
0912
        现在呢,我们就来尝试一个开发板的使用过程。
        那么昨天我们就用到了一个tcl的脚本。
        我说过,全世界的EDA的厂商所提供的开发板,都是这么使用的,唯独我们中国的工程师,中国的教案里面直接用下板的编程的布局来分配管脚。
        我一直在说这件事情,为什么我们的体育欣欣向荣呢?
        为什么我们在奥运会的赛场上总是有那么多的金牌呢?
        为什么我们的科学技术到今天为止,跟世界水平还有那么大的差距呢?
        就是训练水平国际化,奥运,体育嘛,它的训练一定是国际化的,国际上怎么训练,我们就怎么训练,国际上怎么裁判,我们就怎么裁判,统一的标准。
        但是我们的中国的工程技术界不一定是这样的,别的行业我不知道,电子行业确实如此。
0913
        我们企业的工程师,大多他不向国际标准瞄准。
        就是横向的来看,世界最前沿,当今世界做得最好的方法,最好的工具是怎么做?
        而是瞄准我这个企业,就是坐在我桌子边上的那个工程师他是怎么做的,他怎么做,我怎么做。
        这样的话,就容易形成井底之蛙的效应。
        好,我们现在就来说说我们的开发板。
        来看看至芯用国际标准的tcl该怎么做?
        我说过,无论是Xilinx的板子,还是Altera的板子,最著名是DE2的板子,他们该怎么做?
        这个呢,同学们可以跟着我一起做。
0914
        准备一个文件夹,测试一下我们我们板子的使用的方法。
        测试一下如何使用tcl脚本。这是我们的工程文件夹test_tcl。
        然后呢我们就把工程文件夹所有的文件,都位于工程文件夹的根目录下面。
        然后我把开发板的资源调过来。复制到根目录下面,这是我们开发板的tcl资源。
  

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-3-5 22:08:56 | 显示全部楼层
0915
        这是做了verilog的配置的。然后启动quartus。
        我这个做得并不快,同学有可能跟得上,跟着我一起做。
        并且把你的开发板准备好。
        新工程向导,设置工程文件名。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-3-5 22:10:24 | 显示全部楼层
0916
        点Next,在2/5直接点finish。
        其它什么都不用做了,因为tcl什么都会给你做好。
        Hierarchy界面显示AUTO。
        点工具Tools菜单下的Tcl Scripts……。
0917
        然后选中tcl文件。
        先open它,然后再run它。
        运行它。
        运行完了以后,检查一下hierarchy,已经出现了对应的指定的器件。
        所有的设置都已经做好了。在assignments菜单下选中settings,在simulation选项下看到全部都已经做好了,点cancel退出。
        下面新建一个框图原理图,下板的时候用框图原理图有它的方便之处。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-3-5 22:11:32 | 显示全部楼层
0918
        另外一个理由就是我不用写代码,可以点右键生成管脚,就立刻可以下板,用不着一行一行写代码,当然快了。
        非常直观地看到连接关系。在new对话框下选中Block Diagram/Schematic File,点OK。
        出现bdf文件,将它另存为test_tcl.bdf,一定保存在当前工程文件夹的根目录下面。
        观察顶层,hierarchy上就是它。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-3-5 22:13:52 | 显示全部楼层
0919
        开发板上这个时候tcl的用法就是,你只要在你的设计里面,无论是图是代码,设置为顶层,顶层的端口是tcl的资源名,你就可以使用开发板。
        我们这个开发板的配置还不是特别多,象DE2的大的板子有很多很多的配置,你要单独做一个试验,其它的配置也不能少。
        少了以后这个开发板可能就错乱了,混乱了,所以这种情况之下呢,正确的方法就是你直接用它的资源名,用一个是一个,用两个是两个,也就不需要做全局的考虑。
        而我们之前做它的管脚的分配,这个时候就带来很多的问题。
        因为你有一个管脚没有粘好,你只粘了其它的管脚。
        其它的管脚只粘了你所需要的管脚,其它的管脚没有粘。
        可能这个开发板,这个项目就做不下去,可能出现其它的问题。
        另外呢,还有可能损毁器件,复杂的时候。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-3-5 22:15:21 | 显示全部楼层
0920
        现在呢,这种DE2开发板的形式,应该尽量避免直接来管理这个管脚的布局,而不是用这种人工接线的方式。
        这种方式是一种早被西方人淘汰了的一种做法。
        什么时候来做这个接线呢?
        你只有在工程课程里面,我们会来讨论它。
        工程课程里面,我们要把它做到印制板上面去,也就是说我们要实现从FPGA建模到板级的实现,我们要这张图。
        然后呢,开发板的使用的时候,是应该能够尽量避免使用这张图。
        怎么做呢?
        我们开发板上有4个LED的灯。你只要用这个资源名做你的端口,你就可以使用开发板。
        有哪些是哪些。我们首先使用LED的灯来做一个。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-3-5 22:17:10 | 显示全部楼层
本帖最后由 lcytms 于 2017-3-5 22:18 编辑

0921
        首先我在桌面上双击,放一个输出端口。
        然后双击输出端口。
        调出属性窗口,用开发板的资源名做端口名称。
        改成LED[0]试试看。这个LED[0]究竟是低电平有效,还是高电平有效呢?
        你试一下就知道。
        如果我们要让它低电平有效,让它接零,接地。
        空白处双击,输入gnd,放一个GND图标。
        连上。
  

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-3-5 22:19:48 | 显示全部楼层
0922
        尝试一下,做一下分析和综合。
        保存。
        然后检查顶层的图。
        看到它已经给你分配了管脚了。
        用不着你自己去分配。
        这种分配不仅准确,而且呢,所有的其它的该分配的给你分配,不该分配的不给你分配。
        所以这样用开发板是效率比较高的。
        避免了错误,这样LED[0]就已经接上了。
        我们来试试看。

本帖子中包含更多资源

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

x
 楼主| lcytms 发表于 2017-3-5 22:20:39 | 显示全部楼层
0923
        把编程器打开,插上USB口,添加硬件USB-Blaster。要全编译,只有全编译形成网表以后,你才能下载。
0924
        执行全编译。在programmer界面下加入sof文件。

本帖子中包含更多资源

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

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

本版积分规则

关闭

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

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

GMT+8, 2024-12-24 00:13 , Processed in 0.062790 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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