这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 44-q王在在的CPLD_DIY的开发进程

共10条 1/1 1 跳转至

44-q王在在的CPLD_DIY的开发进程

菜鸟
2013-06-28 16:28:01     打赏

    此贴将会是 q王在在 在本次CPLD_DIY活动中的开发进程贴。

    这个月中旬收到的板子的器件包。但是那一段时间比较忙,而且是第一次焊贴片的(引脚还这么密),所以就一直没有动手。但是看到好多人都焊好了,我就有点紧张,抽时间先焊了,测试程序可用,就先开个进程贴,然后慢慢学。

    下面是自己焊接及调试的一些图片,希望大家多多交流。

   




关键词: CPLD     FPGA     申请     DIY     进程    

菜鸟
2013-06-28 16:52:16     打赏
2楼
一定加油~~~

菜鸟
2013-06-28 18:41:27     打赏
3楼

下面是测试的图片:


空PCB板


焊接完成


CPLD


LCD1602


流水灯


数码管


另外,7个按键使蜂鸣器发出不同频率的声音!!!




菜鸟
2013-07-29 17:07:14     打赏
4楼

       非常感谢版主的关怀,今天收到短信的时候正准备睡午觉。最近在网上搜索,经常看到版主的身影,可以想象有多牛。而且这么负责的版主就更少了。非常感谢!!!


菜鸟
2013-07-29 17:14:33     打赏
5楼

      自从开进程贴到现在,都没有更新过,主要是这边项目,在加上学校实验室有好多琐事,家都还没有回过。当然每天可以抽点时间的,但是这样发帖就不固定,学习内容页不固定,所以就想等自己学了差不多了,功能都实现了,然后好好总结一下,把自己学到的一口气更新完。

    既然版主都发短信通知了,就慢慢更新一点吧!希望大家多多交流学习!!!


菜鸟
2013-07-29 17:20:58     打赏
6楼
驱动的安装:
    USB-BLASTER的驱动在QUARTUS II里自带有的,但是要自己手动安装一下。
    下面看具体操作。
    我这个事安装成功的样子,如果一开始插上下载器,是安装不成的,会显示一个黄色三角的警告标志。就右击,点击更新驱动——浏览计算机——选择自己安装的QUARTUS II文件夹。因为不知道是哪一个,所以就选择上一层文件夹,扩大范围,然后勾选下方的包括子文件夹,点下一步,知道完成。
    安装成功后可以下载了,然后再QUARTUS II软件里设置硬件,进行下载。
这些都是群里的朋友帮助我解决的,觉得很有用就录个视频形象一点。   谢谢!!!


程序的下载:
    其实就和单片机下载HEX文件差不多。只不过下载软件变成QUARTUS II 自带的,下载文件的格式变成.QOF格式。
    下面看具体操作。

注:论坛上传视频太麻烦了,而且也看到论坛的出相关的教程了,所以就算了吧。




菜鸟
2013-07-29 17:21:51     打赏
7楼
CPLD芯片的学习:
    首先是对CPLD芯片的认识了解;然后就是看CPLD的DATASHEET,本次活动使用的是EPM240T100的芯片。然后就是看引脚功能。如果学过单片机这个应该容易理解的。
    本人对CPLD/FPGA的理解就是,芯片里面都是好多门阵列,然后我们通过编程来组合这些门阵列,组成特定功能的芯片。比如通过编程可以使其有51单片机的功能,那它就可以当做51单片机来使用。它的功能强大就是引脚功能丰富,可以通过自己编程自己定义。而且保密性好。说白了就是CPLD就是底层的逻辑门电路组成的,然后我们自由组合这些门电路形成特定功能的芯片。(CPLD/FPGA就是一个很好的玉,发展空间很大,想要雕成什么,自己通过编程来实现)。这是本人一开始接触CPLD/FPGA听到逻辑门阵列的时候就有的一点理解;不知道这样理解对不对,希望大家批评指正,一起学习交流。
    
    后来越来越觉得CPLD的功能强大,看到VHDL语言里的变量定义、属性等,觉得有些功能太强大了,感觉最深的就是检测信号的边沿,及输入输出。

菜鸟
2013-07-29 17:22:46     打赏
8楼
VHDL的学习:
    一直以为VHDL就是Verilog-HDL的缩写,其实不然。VHDL(VHSIC Hardware Description Language)是美国国防部开发的;Verilog-HDL是由Verilog公司开发的。这两个最具代表性。VHDL比较严格,相比较而言Verilog要求就不严格,有点像C语言,容易入门。VHDL一般是在大学课程教学中使用,而Verilog则在工业应用中比较多(像C语言,这就可以理解了)。


    学习过程:
        了解VHDL编程的整体结构,包括5个部分:实体(ENTITY)、构造体(ARCHITECTURE)、配置(CONFIGURATION)、包集合(PACKAGE)、库(LIBRARY);了解整体结构之后,就对这五个部分进行深入的了解分析。
        之后就是VHDL语法的学习,当然就是客体,数据类型,运算符,关键词啊什么的,如果有C语言的基础,这些都应该挺容易的。注:在学习的过程中,一些具体用法和概念要看具体的程序来学习。
        VHDL语言的基本语法看懂之后就可以看一些实例,自己好好消化,就可以了。

菜鸟
2013-07-29 17:39:16     打赏
9楼

    芯片的逻辑单元是有限的,比如我们用的就只有240个。超过了就会报错。这就要我们在编程时注意代码的效率。比如:

    1、if...else等含有else的语句,在使用if语句的门闩功能时就会省掉else,这就使得该语句属于不完整的条件表达式,会生成一个含有7位寄存器的结构,引起电路不必要的开销。 

    2、在定义变量和信号类型的时候,最好规定范围,比如用到整形的时候,我只用到0~9这十个数字,那定义语句为:    signal  gewei : integer range 0 to 9 ;   它比不规定范围的语句: signal gewei : integer; 要节省好多资源。

    3、尽量少用乘法和除法,因为这两个运算占用的资源太多。可以用其他的逻辑语句和加减来代替的尽量代替。

    总之VHDL语言是一门严格精确的语言,在使用时注意代码的效率。



菜鸟
2013-07-29 17:48:35     打赏
10楼

      在VHDL语言教程中讲了好多语句,有些语句只能在仿真时可以使用,不能进行逻辑综合。比如wait语句、断言语句等,很明显这些只能在软件仿真调试时使用,根本不能综合下载到芯片中,所以在综合编译的时候就会出错。这个得注意。

     还有就是VHDL中的延时问题,一开始以为可以使用wait语句来延时,没有想到一直出错,才知道不能进行逻辑综合的意思。在VHDL中要进行延时可以利用时钟通过分频来实现,比如我们使用的是50M晶振,通过计数50M就可以定时1S,依次类推,而且定时非常准确,定时精度就看使用晶振的频率了,晶振频率越高,定时精度就越高。

     有不对的地方欢迎大家指正,正在学习过程中。。。


共10条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]