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资源。
lcytms
发表于 2017-3-5 22:08:56
0915
这是做了verilog的配置的。然后启动quartus。
我这个做得并不快,同学有可能跟得上,跟着我一起做。
并且把你的开发板准备好。
新工程向导,设置工程文件名。
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退出。
下面新建一个框图原理图,下板的时候用框图原理图有它的方便之处。
lcytms
发表于 2017-3-5 22:11:32
0918
另外一个理由就是我不用写代码,可以点右键生成管脚,就立刻可以下板,用不着一行一行写代码,当然快了。
非常直观地看到连接关系。在new对话框下选中Block Diagram/Schematic File,点OK。
出现bdf文件,将它另存为test_tcl.bdf,一定保存在当前工程文件夹的根目录下面。
观察顶层,hierarchy上就是它。
lcytms
发表于 2017-3-5 22:13:52
0919
开发板上这个时候tcl的用法就是,你只要在你的设计里面,无论是图是代码,设置为顶层,顶层的端口是tcl的资源名,你就可以使用开发板。
我们这个开发板的配置还不是特别多,象DE2的大的板子有很多很多的配置,你要单独做一个试验,其它的配置也不能少。
少了以后这个开发板可能就错乱了,混乱了,所以这种情况之下呢,正确的方法就是你直接用它的资源名,用一个是一个,用两个是两个,也就不需要做全局的考虑。
而我们之前做它的管脚的分配,这个时候就带来很多的问题。
因为你有一个管脚没有粘好,你只粘了其它的管脚。
其它的管脚只粘了你所需要的管脚,其它的管脚没有粘。
可能这个开发板,这个项目就做不下去,可能出现其它的问题。
另外呢,还有可能损毁器件,复杂的时候。
lcytms
发表于 2017-3-5 22:15:21
0920
现在呢,这种DE2开发板的形式,应该尽量避免直接来管理这个管脚的布局,而不是用这种人工接线的方式。
这种方式是一种早被西方人淘汰了的一种做法。
什么时候来做这个接线呢?
你只有在工程课程里面,我们会来讨论它。
工程课程里面,我们要把它做到印制板上面去,也就是说我们要实现从FPGA建模到板级的实现,我们要这张图。
然后呢,开发板的使用的时候,是应该能够尽量避免使用这张图。
怎么做呢?
我们开发板上有4个LED的灯。你只要用这个资源名做你的端口,你就可以使用开发板。
有哪些是哪些。我们首先使用LED的灯来做一个。
lcytms
发表于 2017-3-5 22:17:10
本帖最后由 lcytms 于 2017-3-5 22:18 编辑
0921
首先我在桌面上双击,放一个输出端口。
然后双击输出端口。
调出属性窗口,用开发板的资源名做端口名称。
改成LED试试看。这个LED究竟是低电平有效,还是高电平有效呢?
你试一下就知道。
如果我们要让它低电平有效,让它接零,接地。
空白处双击,输入gnd,放一个GND图标。
连上。
lcytms
发表于 2017-3-5 22:19:48
0922
尝试一下,做一下分析和综合。
保存。
然后检查顶层的图。
看到它已经给你分配了管脚了。
用不着你自己去分配。
这种分配不仅准确,而且呢,所有的其它的该分配的给你分配,不该分配的不给你分配。
所以这样用开发板是效率比较高的。
避免了错误,这样LED就已经接上了。
我们来试试看。
lcytms
发表于 2017-3-5 22:20:39
0923
把编程器打开,插上USB口,添加硬件USB-Blaster。要全编译,只有全编译形成网表以后,你才能下载。
0924
执行全编译。在programmer界面下加入sof文件。
页:
1
[2]
3
4
5
6
7
8
9
10
11