tag 标签: cyclone

相关博文
  • 2015-5-3 06:05
    259 次阅读|
    0 个评论
      我们使用 VHDL 语言,根据FPGA管脚与数码管和按键管脚的连接,通过一系列的语句控制管脚电平的高低,从而让FPGA实现数码管显示功能。可见,对于比较简单的功能实现,可以像这个例子中那样,直接控制最底层资源,甚至对每个管脚在每个时刻的电平输出了如指掌。   但是,如果设计稍显复杂,那么对底层细节的过多关注就会成为一种累赘。   试想我们平时在电脑上编写C程序,比如在显示器上输出一行字,我们只用一句printf()即可完成,至于打印命令怎么传到显示芯片上,哪个芯片管脚怎么 变化,又怎么传到显示器上输出,诸如此类涉及底层硬件的问题,我们没必要关注太多。于是,我们把用printf()这类高级语言描述设计逻辑的工作称为软 件设计。显然,软件只是一种抽象的看不见摸不着的东西,它的结构接近于人类思维逻辑。无论软件再怎样构思精妙,只有在硬件上才能体现出实际效果。   做计算机开发应用程序的时候,硬件是现成的,软硬件之间的桥梁早就由操作系统给你搭好了,我们只需专心完成软件的构思和设计就OK。   显而易见,软硬件的分工会给电子设计带来极大的方便,自然有人把这种分工方式引进FPGA设计领域,琢磨着怎么在小小的FPGA上也搞个软硬件协同设计,负责硬件设计的和负责软件的各司其职,最后pia一整合,效率倍增。   来看看 NIOS 是怎么做的。拿出DE2开发板,上面很多外设接口和与之连接的芯片,那是硬件,中间有一块大的 Cyclone II芯片,里面是空的,等着我 们编写程序下载到里面运行,前篇文章我们用最原始的方法写了个数码管控制器,这次我们换种方法,同样是数码管控制器,用软硬件协同设计来完成。   跟计算机对比,硬件我们有了,软件就用C语言来写,但是nios系统可没提供WinXP,也就是说软件和硬件之间的那座桥还得自己解决。   看上图,这座桥分为3个层次:硬件控制层,设备驱动层,硬件抽象层(简称HAL)。既然是软硬件的过渡部分,那么这3层的设计需要对硬件和软件都有一定程度的了解,姑且称之为“软硬件混杂设计”吧。   每一层所要完成的任务,就是整合和简化硬件操作细节,整合,再整合,使其一目了然。    1 硬件控制层   与硬件直接打交道的是硬件控制层。   上面提到,搭“桥”的目的是让软件设计人员可以完全忽略硬件操作细节,因此,我们希望所有的硬件细节都能在这层解决,并向设备驱动层提供整齐的“接口”。之前的例子可看作硬件控制器的雏形,但还缺少与设备驱动层的接口。   何为“整齐”呢?比如说,设计数码管控制器,我想让它显示数字“5”,最好的方法是,我将数据“5”和表示“显示”的命令从设备驱动层传给硬件控制层,直 接告诉它:我要“数码管”“显示”“5”。至于要控制哪个管脚电平高低才能显示“5”,全由硬件控制层负责。   类似这样分工合作的例子在日常生活中屡见不鲜。比如说,邮局要将一封信送给家住A小区的张三,邮递员把信放入A小区的信箱,小区物业再去确认张三的具体住处,把信最终送到张三手中。   类比可见,邮局相当于设备驱动,物业相当于硬件管理器,张三则是具体的硬件,邮局和物业之间的接口是物业提供的信箱,设备驱动和硬件管理层之间的接口,我们称之为“寄存器”,同样由硬件管理层提供,“寄存器”是两层之间得以明确分工和相互联系的关键。   设备驱动开发人员眼中的硬件就是一组寄存器的抽象,通过读写寄存器间接控制硬件行为。   那么,在数码管控制器里加入一个数据寄存器和一个命令寄存器:   data_reg存储待显示的数据,cmd_reg为‘1’时显示,为‘0’时清空。    2 Avalon总线   你可能会说,这有什么?在每个硬件管理器和设备驱动之间都建立一个通道呗。这是最直接的办法,但显然不是最好的办法。试想,城市为什么要建高速公路呢?多 修几十根羊肠小道不也一样能跑车吗?有人回答:为了收养路费呗。$%@! 小路上开车,速度慢且不说,管理协调是个大问题,是一条大公路容易管理,还是几十根羊肠容易理顺?   好了,回到正题,nios系统需要一条“高速公路”,称为“总线”,“总线仲裁器”则行使“交通管理局”的角色,控制数据的进出,并为每个硬件提供一个进 出“高速公路”的接口,用“地址”来标识这个接口的位置。nios采用的是Avalon总线,它有着一套接口规范:   同步时钟 clk   片选信号 chipselect   地址 address   读请求 read   读传输 readdata   写请求 write   写传输 writedata   这些是比较重要的接口信号,其它的不一一列举了。硬件控制器要接入总线,必须遵循接口规范,就像高速公路出口必须摆个收费站一样。   那么在数码管控制器里加入Avalon总线信号:   既然加入了两个寄存器和avalon信号,就需要对硬件逻辑进行必要改动,大致过程是,当chipselect和write有效时,将 write_data赋给address对应的寄存器;当chipselect和write有效时,将address对应寄存器的值赋给 read_data。另外,根据这两个寄存器的内容决定数码管输出信号oSEG0。代码不贴出来了,具体见工程压缩包。    3 设备驱动程序   其实,“总线仲裁器”也可看作一种硬件控制器,只不过它管的不是具体的硬件,而是负责数据的传输。那么它也有自己的设备驱动,封装了总线操作的细节。既然总线是现成的,我们秉承“拿来主义”的原则,甭管它怎么实现的,会用就行。   例如,数码管设备驱动要把数据“5”和“显示”命令传给数码管控制器,设计两个函数,由于数据和命令的传递必须经过总线,那么需调用总线驱动函数IOWR(基地址, 偏移量, 数据),另外,读取寄存器用到IORD(基地址, 偏移量),这两个函数在io.h里。   io.h的路径是"..alterakits ios2_60componentsaltera_ NIOS 2HALinc"。   至此,“桥”搭完。   函数功能从字面上很好理解。刚才定义两个寄存器时,data_reg在前面,所以偏移量是0,cmd_reg在后面,偏移量是1。××_REG_MSK称 为掩码, Avalon总线 数据接口共32位,但我们设计的data_reg位宽是3,cmd_reg位宽为1,掩码的作用在于告知寄存器宽度,知道就行, 实际上用不着。××_REG_OFST是寄存器内的偏移量,这里同样用不着,先写上吧。   OK,我们的数码管设备驱动文件正式出炉了,看看是不是简洁明了很多啊?    4 硬件抽象层(HAL)   设备驱动程序封装的仅仅是对某个寄存器的一次读写操作,功能单一,需要在硬件抽象层再做一次封装。   直接将这些函数列出来,一目了然,不作多余的解释了。   至此,“桥”搭完。   接下来在把我们的“数码管控制器”加入sopc builder系统中。   现在几乎所有讲nios的书都会提及自定义用户外设,而且用的都是altera官方提供的例子PWM,本文的“数码管控制器”就是照着它依葫芦画瓢改过来 的,呵呵,惭愧惭愧,之所以想改它,一是因为它用的是verilog而不是 VHDL ,而大多数人先接触却是VHDL;二来PWM的显示效果似乎不太明显, 改成数码管显示相对比较有成就感;第三,PWM的逻辑稍微有一点点复杂,我们的重点在于说明怎样自定义外设,当然例子越简单越好。   既然是照着PWM原样改的,所以本文工程的结构与之保持高度一致,将其加入sopc builder的步骤也差不多,这里我就不再码字了,各位照着书上做吧:   《SOPC嵌入式系统基础教程(周立功等著)》第8章……   再接下来,建立一个包含“数码管控制器”的nios系统,并编写应用程序,实现从0到9计数。   贴张官方的nios设计流程图,看起来很漂亮是吧,不愧是altera的东西,大而全而不乱。   先说最中间的"SOPC Builder",它的任务是建立一个“以Nios CPU为核心,以Avalon总线为纽带,将各种硬件设备连接起来”的nios系统;这个系统要在FPGA中运行,所以必须挂靠一个Quartus II工程,用左边的Quartus II进行分配引脚等等工作,生成硬件系统;接着,右边的Nios II IDE就可以在这个硬件系统上设计应用程序了;最后将硬件系统和软件程序分别下载到FPGA芯片上,大功告成。   下面step by step   1 Quartus II 新建一个工程名,工程名"DE2_SEG7"。   2 "Tool" → "SOPC Builder" 打开SOPC Builder。   3 "System Name": nios2_system   选VHDL。   一个包含“数码管控制器”的最小系统至少由3部分组成:CPU必不可少,RAM存储代码,还有刚才设计的"seg7_avalon"。   4 加入"Nios II Processor",选"Nios II/e",精简型够用了。   5 加入"On-Chip Memory",类型选"RAM",位宽默认"32 bits","Total Memory"选"48Kbytes",等会儿软件要占用四十多K空间。   6 加入"seg7_avalon"。   7 将这三个组件的名称改好看点,然后设定RAM的基地址为"0x00000000",再右键锁定基地址,如图:   为什么要锁定RAM的基地址为0呢?点选第二个选项卡,可以看到"Reset Address"对应着RAM,系统的复位肯定要从地址0开始。   8 由于刚才人为改动了地址分配,弄乱了,让系统自动再分配一次,当然被锁定的RAM基地址是不会变的。"System" →"Auto-Assign Base Addresses"。最终系统组件列表如下:   注意,seg7的地址范围是"0x00010800"→"0x00010807",占8个地址,nios系统的地址按字节分配,也就是说,每个字节占用一 个地址,数码管控制器中定义了两个寄存器,avalon总线规定每个寄存器占32位(实际上是不是32位它就不管了,反正按最大32位分配),这样两个寄 存器共占去8个字节,自然需要8个地址。   9 点击"Generate"生成nios系统,回到Quartus II。   10 新建一个顶层文件"File"→"New"→"Block Diagram/Schematic File",引入nios II系统,增加输入输出引脚。然后,"Assignment"→"Import Assignment",添加引脚分配文件(在DE2光盘目录下的DE2_tutorialsdesign_files DE2_pin_assignments.csv),改动顶层文件的引脚名称使其与.csv文件中保持一致。   11 编译,查看编译报告,可见,48K的RAM占用了芯片83%的memory bits,差不多耗光了。   12 硬件部分已经搞定,关掉Quartus II,打开Nios II IDE,切换到工作目录下。   13 "File"→"New"→"C/C++ Application","SOPC Builder System"选择"nios2_system.ptf"(就是刚才Generate Nios II系统生成的东东),再选模板"Hello World"(纯属偷懒 ),顶上的"name"改成"seg_example","Finish"。   14 改动hello_world.c,代码的功能为:先初始化数码管,等待2秒钟,再进行0-9的循环,循环过程中穿插2秒钟的清屏。SEG7_BASE的宏 定义在system.h中,实际上就是在SOPC Builder中的seg7_avalon的基地址0x00010800。   15 "Project"→"Build Project",得到编译报告,软件占用了7K空间……   16 下载到DE2板上,运行,数码管不停地闪啊闪。    OK,从硬件到软件的一条龙讲完了。
  • 2015-3-24 13:21
    220 次阅读|
    0 个评论
          摘要: 在仪器仪表电路中,人机交互界面是必不可少的环节。为了解决单纯采用单片机制作的系统功耗高、速度慢、电路结构繁琐的问题,同时为了发挥出单片机的灵活性和FPGA 的高速性,系统采用C8051F020 单片机和CycloneⅡFPGA 作为系统核心, 设计实现了键盘、LCD 等人机交互功能, 同时预留了部分I/O 接口作为扩展接口使用。采用FPGA 扫描键盘可以极大程度地节省单片机的资源,利用单片机和FPGA 共同控制LCD 可以更好地体现出人机交互的特色。   在现代各类仪器的开发中,人机交互功能正起着无可替代的作用。人机交互界面友好的仪器将更容易操作和使用,从而提高工作效率。液晶显示器(LCD)具有功耗低、价格低、寿命长、接口控制方便等特点,在科研与设计领域正发挥着越来越大的作用。FPGA 作为单片机外设的接口芯片,可以大大简化接口电路,通过对FPGA 进行编程,可以实现常用的译码、地址选通等功能。   本文以C8051F020 单片机与FPGA 互连系统为控制核心,以液晶显示控制器T6963C 为例,结合行扫描键盘,简述了一种人机交互功能的设计。    1 系统设计方案:   FPGA 可在很大程度上扩展单片机的资源,然而人机交互功能仍应尽量减少对单片机及FPGA 的资源消耗, 以便将更多的片内资源用于其他功能的扩展。采用FPGA 扫描键盘可以节省单片机的资源, 同时也能灵活地实现键盘的扩展。而考虑到液晶控制较复杂, 依然采用单片机控制LCD,使LCD 的各种功能得到最大程度的利用,其系统框图如图1 所示。   2 硬件电路及FPGA 接口设计:   2.1 总线接口设计:   这里采用单片机C8051F020 与CycloneⅡ FPGA 互连的系统。C8051F020 器件是完全集成的混合信号系统级MCU芯片,具有64 个数字I/O 引脚,与8051 完全兼容,而且速度得到了极大提高,70%的指令执行时间为1 或2 个系统时钟周期,只有4 条指令的执行时间大于4 个系统时钟周期。此外,C8051F020 系列MCU 对CIP-51 内核和外设有几项关键性的改进,提高了整体性能,更易于在最终应用中使用。如提供22 个中断源、7 个复位源、可编程交叉开关、8 位A/D 转换器、12 位D/A 转换器等。   CycloneⅡ系列FPGA 将低功耗FPGA 的密度规模扩展至68 416 个逻辑单元,并提供高达622 个可用的I/O 接口以及高达1.1 Mb 的片内存储单元 。CycloneⅡ系列成功实现了高效与低功耗的结合,可用于自动化、通信、视频播放等领域。为兼顾成本问题, 本系统采用性价比较高的EP2C8 型FPGA 作为接口器件。   为使单片机的资源可以得到最大的开发,将单片机的高端口,即P4~P7 接入FPGA,并通过FPGA 对外部设备进行访问。在FPGA 中通过Verilog HDL 语言编程实现了3-8 译码器,从而实现了对单片机地址总线的扩展。该3-8 译码器对LCD 以及键盘的键值读取提供使能信号,如图2 所示。   2.2 T6963C 及其接口设计:   T6963C 液晶显示控制器多用于小规模的液晶显示器件,常被装配在图形液晶显示模块上,以内藏控制器型图形液晶显示模块的形式出现。   单片机对T6963C 有2 种访问方式: 直接访问与间接访问。直接访问利用三总线以I/O 设备访问形式进行控制;间接访问则由单片机提供并行接口,以程序控制时序的方式进行控制。为简化程序,这里采用直接访问方式。   该LCM 的FS1 引脚用于控制显示字符的字体。FS1 为高时,LCD 显示6×8 字符;FS1 为低时,LCD 显示8×8 字符。经实践,在显示英文与数字时,6×8 字符更为美观;在显示中文字符时,8×8 字符更为方便。一般系统采用将FS1 接地或接高的方式来固定字体,而本系统采用P2.1 对FS 进行控制,通过改变地址实现改变字体的功能,使得界面的显示更灵活。    2.3 键盘电路设计:   键盘是常用的单片机输入设备,分为编码键盘和非编码键盘。键盘上闭合键的识别由专用硬件译码器实现,并产生键编号或键值的称为编码键盘;靠软件识别的称为非编码键盘。在单片机组成的测控系统及智能化仪器中使用最多的是非编码键盘,本系统设计在FPGA 中编程实现3×6 键盘的行扫描。    由于按键的机械特性,在闭合和断开的瞬间会伴随着一连串的抖动,键抖动会引起一次按键被误读多次,所以必须进行去抖处理,常用的方法为延时去抖动。FPGA 产生键值之后向单片机发送中断,并等待单片机读取键值。由于人脑反应时间相对较长, 键盘中断可以处于相对较低的优先级,因此本文将键盘中断接于外部中断7。   3 软件设计:   软件设计遵循结构化和层次化的设计原则。底层函数直接与硬件沟通,而上层函数直接通过调用底层函数来实现相应功能,从而使上层函数与硬件环境彻底分开。当硬件环境发生变化时,仅修改底层函数便能实现程序的移植。   3.1 液晶驱动模块的编程设计:   本模块的底层函数需要实现写控制字、写参数、查忙等功能。由于采用直接访问,写控制字与写参数的函数只需向控制口或数据口的地址送数即可。由于 LCD 是慢速器件,因此在每次写控制字及写参数之前都需要进行查忙。T6963C的状态字共有7 位有效的状态位,如表1 所示。其中STA1~STA3 最为常用,一般情况下可以不需要对STA5~STA7 进行查忙的程序。   3.1.1 液晶驱动模块的初始化:   T6963C 的最大特点是具有独特的硬件初始值设置功能,显示驱动所需的参数如占空比系数。驱动传输的字节数/行及字符的字体选择等均由引脚电平设置, 这样T6963C 的初始化在上电时就已经基本设置完成,软件操作的重心就可以全部用于显示画面的设计上。因此,初始化时仅需根据实际情况设置文本区域和图形区域的首地址和宽度, 以及CGRAM 偏置地址、合成方式、光标形状等即可正常使用。   液晶驱动模块的初始化函数如下:   void LcdInitial(void)   {   LcdWriteDataD(0x00,0x00,0x40); //设置文本区域首地址为0000H   LcdWriteDataD(0x20,0x00,0x41); //设置文本区域宽度为20H 字节   LcdWriteDataD(0x00,0x04,0x42); //设置图形区域首地址为0400H   LcdWriteDataD(0x20,0x00,0x43); //设置图形区域宽度为20H 字节   LcdWriteDataD(0x03,0x00,0x22); //设置CGRAM 偏置地址,显示存储器的首地址为1800H   LcdWriteDataN(0xa7); //光标形状设置为8×7   LcdWriteDataN (0x80); //启用内部字符发生器,逻辑“或”合成   LcdWriteDataN(0x9c); //开文本和图形显示,禁用光标   LcdClear(3); //清屏   }   3.1.2 英文及汉字的文本显示:   由于英文及数字等常用字符的字模已经固化在CGROM中,因此进行英文的显示时,只需指定显示的地址,再输入该字符对应的标号即可。汉字的显示与英文的显示类似。然而出于其复杂性,一个汉字需要使用4 组点阵才能完整显示。在初始化后将汉字的4 部分字模顺序输入CGRAM 中, 在使用时仅需计算好每一部分的显示地址即可对汉字进行完美显示。   对于一串英文字符的输入, 可以利用字符串的特性进行操作。通过检测‘\0’字符来判断英文字符串的结尾,从而避免了在调用此显示函数时人工计算句子长度的工作。英文字符的 ASCII码值与其在CGROM 中对应的标号恰相差0x20,因此仅需简单的减法即可实现标号的转换。此外,在进行英文的连续显示时,使用了T6963C 的数据自动写指令,从而提高了显示效率。   对于一串中文的显示,则仅需通过循环调用单个中文的显示程序进行实现。注意由于C51 语言中字符串无法支持中文,因此必须人工计算中文字串的长度并将其作为函数传递给此显示函数。   字符发生器CGRAM 中总共可存储32 个汉字,对于需显示较多汉字的应用, 可从需显示的汉字中选出16 个最常用的汉字,固定存放于CGRAM 中,其余汉字仅在需要使用时动态写入CGRAM。这样, 既提高了显示效率, 又解决了CGRAM 过小的问题。   3.1.3 图形显示:   除使用文本显示汉字外,还可采用图形显示的方式。具体方式是将字模以数组的方式保存于单片机的代码段,在需要显示时将数据送入图形区即可。此外,利用图形显示,还可以编写描点程序显示相应波形或者编写绘图程序绘制简易表格,使系统显示结果更加直观,便于分析。     3.1.4 文本特效:   T6963C 可以设置文本属性区,并对文本实现反白、正向闪烁、反向闪烁等特效。使用时仅需将图形显示设置为文本属性区即可。此时图形区的内容将无法显示,若图形区与文本属性区划分在CGRAM 的不同区域,则图形区的内容可以得到保存。利用文本特效,可通过反白或闪烁等效果指示可选选项以及当前选项,从而使界面更易于操作。   3.2 人机交互界面设计:   除基本的10 个数字键以外,还设定了上、下、左、右、确定、取消等按键。此外,按键位置的设计,更符合人们的按键习惯。在界面中采用分级的菜单, 在一级菜单中选定功能之后将进入下一级菜单对功能进行更详细的设定。在人机交互界面中可以使用方向键进行功能的选择,数字键仅用于数据的输入。   界面充分利用了文本特效,对选项采用反向显示表示该选项已选定;对选项采用反向闪烁表示用户可通过方向键改变选项。在需要进行数字输入的界面中打开光标,即可向用户标示数字输入的地方。此外,必要的警告和出错界面的设计将为用户提供更多信息,使人机交互界面更为友好。   4 结束语:   本系统采用键盘+LCD 的输入输出设备, 并且可以通过FPGA 实现各种其他外设的接口电路的设计, 减少了对单片机资源的占用,使得设计灵活、方便。同时FPGA 还可以为单片机提供存储器和I/O 口等资源。本文设计的电路可扩展性强, 在此基础上可将其扩展成各种拥有友好界面的系统,如可控增益放大器、音频信号分析仪、集成运放分析仪等。经实践,该系统稳定易用,实用性强。
  • 2014-8-11 15:08
    601 次阅读|
    0 个评论
      1、仅C8L、IC8L、C9L使用1.0V核电压(V CCINT ),其它速度的均使用1.2V核电压。 2、对于作为LVDS传输的Bank必须接2.5V的V CCIO ,参考数据手册表1-20。 3、左边Bank(1、2)、右边Bank (5、6)均支持True LVDS(True mini-LVDS Transmitter),差分对信号无需外接匹配电阻。对应顶部Bank(7、8)、底部Bank(3、4)是通过Single-Ended Output Buffer以及外部电阻组合成LVDS, 即Emulated mini-LVDS Transmitter,差分对信号需要外接匹配电阻。 4、LVDS接口速率高达840Mbps(Tx)和875Mbps(Rx);DDR2接口速度达200MHz。 5、Cycolne IV支持LVDS、BLVDS(双向LVDS)、RSDS(Reduced Swing Differential Signaling)、mini-LVDS(主要用于LCD控制)和PPDS(Point-to-Point Differential Signaling)等高速差分I/O标准。 6、左边Bank(1、2)的LVDS差分引脚编号为DIFFIO_Lxxp与DIFFIO_Lxxn,右边Bank(5、6)为DIFFIO_Rxxp与DIFFIO_Rxxn,顶部Bank(7、8)为DIFFIO_Txxp与DIFFIO_Txxn,底部Bank(5、6)为DIFFIO_Bxxp与DIFFIO_Bxxn。其中:p表示“+”信号,n表示“-”信号;L表示“左边”,R表示“右边”,T表示“顶部”,B表示“底部”;xx为0-61。注意:不同型号(EP4CExx)、不同封装(如EP4CE40的F484与F780),其可用IO引脚数量不同,0-61不会全部都有,而且有些只有p,有些只有n,使用时一定要根据型号和封装仔细引用。 7、在QuartusII中,可使用*.tcl文件对引脚进行分配和约束,点击“Tools|Tcl Scripts”,在弹出窗口中先选择文件(第一次可拷贝一个样本文件,或用“File|New|Tcl Script File”建一个新文件),然后点击“Open File”打开文件编辑、修改、保存。再次点击“Tools|Tcl Scripts”,选中文件并点击“Run”才能把引脚分配和约束信息关联到顶层模块中(如:“top.bdf”。 8、在QuartusII的引脚分配文件*.tcl中使用: set_instance_assignment -name IO_STANDARD "2.5V" -to led 将信号“led”定义为2.5V IO电平,要求其所在Bank的V CCIO =2.5V,如果V CCIO 改为3.3V,可使用缺省IO_STANDARD=3.3V,将*上述约束语句用“#”注释掉并“run”后,还要执行“Assignment Editor”,将以前的led电平约束行删除掉并保存!当然将上述约束语句改为: set_instance_assignment -name IO_STANDARD "3.3V" -to led 然后“run”一次。 9、在使用Altera FPGA的系统中,当硬件电路的某个Bank的V CCIO 修改后,必须在QuartusII中做相应的更改设置,具体方法是: 启动Pin Planner,放大FPGA引脚分配图,每个Bank边上有个小图,其中有“IOBANK_x”字符(如果没有,可在右击菜单中选择“Show I/O Banks”),右击它,在右键菜单中选择“I/O Bank properties…”,然后修改“I/O Bank V CCIO ”即可。
  • 热度 1
    2013-11-4 15:47
    254 次阅读|
    1 个评论
        在做VGA显示的时候,需要将开发板上的50M时钟变为40M,用MegaWizard配置了一下,到顶层文件元件例化,在编译的时候老是出现areset不存在,郁闷了。明明端口定义了,怎么会没有?查了下Datasheet,才发现CycloneII不支持Self-Reset,于是在MegaWizard时去掉了areset,重新修改例化,编译又没通过,还是老问题,检查了一会发现altpll  altpll_component9()的端口里还有areset,遂加了//屏蔽掉,编译通过.
  • 热度 1
    2011-7-14 16:40
    2309 次阅读|
    1 个评论
    Cyclone 4 电路设计要点 关于各档电源供电和Cyclone3一样,如下表: 不同配置方式下MSEL管脚的电平设置,JTAG配置方式有最高的优先级,无需对MSEL做特别的设定,但推荐接地。 AS配置方式FPGA器件与配置芯片电路连接原理图: AS配置方式在线编程原理图: JTAG配置下载电路: 关于VREF管脚 When VREF pins are used as regular I/Os, they have higher pin capacitance than regular user I/O pins. This has an impact on the timing if the pins are used as inputs and outputs.          就特权同学的理解,这些VREF脚主要是针对一些低压差协议接口而设计的,但也可以作为user I/O,只不过VREF管脚电容相对于其他的一般I/O要大一些。Handbook中的管脚电容情况如下:          管脚电容影响其时序,通常TimeQuest在计算net delay或cell delay等参数时,都涉及相关路径的R\C\LOAD等参数。也就是说,这些C偏大的VREF管脚的时序延时相对一般I/O会大一些。其实在应用中问题也不是很大,如果用户在管脚的pin2reg或reg2pin延时上没有特别高的时序要求。    
相关资源
  • 所需E币: 3
    时间: 2019-12-25 17:31
    大小: 591.52KB
    上传者: 16245458_qq.com
    PowerPlayEarlyPowerEstimatorUserGuideforStratix,StratixGX&CycloneFPGAs……
  • 所需E币: 3
    时间: 2019-12-25 17:30
    大小: 293.71KB
    上传者: wsu_w_hotmail.com
    在高清晰LCDHDTV中使用CycloneIIIFPGA……
  • 所需E币: 3
    时间: 2019-12-25 17:30
    大小: 346.09KB
    上传者: 2iot
    在65nmCycloneIIIFPGA中实现低功耗……
  • 所需E币: 4
    时间: 2019-12-25 16:59
    大小: 67.5KB
    上传者: quw431979_163.com
    不错的资料,与大家分享希望以后大家能够把好的资料分享,共同进步!Cyclone与LVPECL器件的互连对于Cyclone器件,目前在QuartusII中没有直接对LVPECL电平标准的选择,只有选择LVDS标准实现与LVPECL的互连。这里分别就Cyclone作为输入和输出时两种情况介绍其与LVPECL的互连。1.LVPECL输出,LVDS输入这时可以采用AC耦合进行连接,如下图所示。[pic]LVPECL的输出端到地需加直流偏置电阻R(142Ω到200Ω),同时信号通道上一定要串接50Ω电阻,以提供一定衰减。需要注意的是,对于某些LVPECL输出器件内部已经提供了直流偏置电阻(参见具体器件的数据手册),这时候不再需要外接R。同时因为不同器件输出幅度可能有所不同,所以可以适当调节Rs的大小,以使之最适合LVDS的接收。当然也可以采用DC耦合的方式进行连接,这是需要附加电阻网络提供直流工作点的匹配。在这里不做详细介绍。可参见下节。2.LVDS输出,LVPECL输入由于LVPECL的输入buffer能够接受LVDS的输出差分幅度。所以在采用AC耦合时可以不用作任何特别处理(Cyclone的LVDS输出需要外接电阻)。采用DC耦合方式连接时,要考虑输入输出阻抗的匹配以及直流工作点的匹配。相对较复杂。在这里作一下介绍。LVDS与LVPECL的DC互连。如下图所示。[pic]该电阻网络要满足以下公式。VB=VCC*R1/(R1+R2+R3)=1.2VVA=VCC*(R1+R2)/(R1+R2+R3)=VCC-1.3VRout=R3//(R1+R2)=86//120=50.10(……
  • 所需E币: 4
    时间: 2019-12-25 16:59
    大小: 56KB
    上传者: 238112554_qq
    不错的资料,与大家分享希望以后大家能够把好的资料分享,共同进步!Cyclone与Spartan-3对比基本特性|Feature|Cyclone|Spartan-3||CoreSupplyVoltage|1.5V|1.2V||ProcessTechnology|0.13um|0.09um||I/OSupplyVoltage|1.5V,1.8V,2.5V,3.3V|‘J’code||||器件不支持3.3VI/O||3.3VPCICompliance|Yes|器件不支持3.3v||||PCI,要支持3.3VPCI||||,需要外加的部件|注:Spartan3有两种版本:J版本和普通版本,最先生产是J版本(包括X3S1000J和X350J),这种版本的芯片最高只支持3.0v信号输入下面我们就电气特性和逻辑性能两方面对两种芯片进行比较,比较数据来源于2004年2月7日从官方网站下载的Cyclone数据手册(ver1.4)和Spartan3的数据手册(ver1.1)电气特性比较Spartan3使用极限条件分析[pic]如Vcco……
  • 所需E币: 3
    时间: 2019-12-25 16:48
    大小: 909.84KB
    上传者: quw431979_163.com
    学习AlteraFPGA开发环境的好资料!QuartusII用户指南2001AlteraCorporation1设计描述设计输入设计修改设计编译功能确认命令行模式脚本延时确认器件编程在线确认生产2001AlteraCorporation2设计输入!多种设计输入方法……
  • 所需E币: 4
    时间: 2019-12-25 16:48
    大小: 925.54KB
    上传者: 2iot
    Altera器件选型指南,比较全面的好东东!目录1、MAX7000系列器件………………………………………………………………………………………….12、MAX3000A系列器件………………………………………………………………………………………..23、MAXII系列器件………………………………………………………………………………..………..34、Cyclone系列器件………………………………………………………………………………………….45、CycloneII系列器件………………………………………………………………………………………66、Stratix系列器件………………………………………………………………………………………….87、StratixGX系列器件…………………………………………………………………………………….108、StratixII系列器件…………………………………………………………………………………….139、HardCopyII结构化ASIC……………………………………………………………………..…………1610、其它系列器件……………………………………………………………………………………………..1711、配置器件……………………………………………………………………………………………………1912、下载电缆…………………………………………………………………………………………………..1913、开发软件…………………………………………………………………………………………………..2014、IPCORE………………………………………………………………………………………
  • 所需E币: 4
    时间: 2019-12-25 16:46
    大小: 1.27MB
    上传者: 二不过三
    使用QUARTUSII做FPGA开发全流程,傻瓜式详细教程……
  • 所需E币: 5
    时间: 2019-12-25 16:35
    大小: 925.54KB
    上传者: 二不过三
    altera器件选型手册目录1、MAX7000系列器件………………………………………………………………………………………….12、MAX3000A系列器件………………………………………………………………………………………..23、MAXII系列器件………………………………………………………………………………..………..34、Cyclone系列器件………………………………………………………………………………………….45、CycloneII系列器件………………………………………………………………………………………66、Stratix系列器件………………………………………………………………………………………….87、StratixGX系列器件…………………………………………………………………………………….108、StratixII系列器件…………………………………………………………………………………….139、HardCopyII结构化ASIC……………………………………………………………………..…………1610、其它系列器件……………………………………………………………………………………………..1711、配置器件……………………………………………………………………………………………………1912、下载电缆…………………………………………………………………………………………………..1913、开发软件…………………………………………………………………………………………………..2014、IPCORE………………………………………………………………………………………
  • 所需E币: 3
    时间: 2019-12-25 16:29
    大小: 652.51KB
    上传者: 238112554_qq
    5款ALTERAFPGA开发板原理图合集……
  • 所需E币: 4
    时间: 2019-12-25 16:11
    大小: 49.23KB
    上传者: 16245458_qq.com
    Cyclone设备封装信息……
  • 所需E币: 5
    时间: 2019-12-25 16:11
    大小: 76.12KB
    上传者: 微风DS
    Cyclone串口设备热阻抗设计……
  • 所需E币: 3
    时间: 2019-12-25 16:11
    大小: 1.44MB
    上传者: givh79_163.com
    CycloneVideoDemonstrationBoardDataSheet……
  • 所需E币: 3
    时间: 2019-12-25 16:11
    大小: 81.22KB
    上传者: wsu_w_hotmail.com
    Cyclonefpga系列……
  • 所需E币: 4
    时间: 2019-12-25 16:11
    大小: 41.03KB
    上传者: 16245458_qq.com
    CycloneFPGASeriesPackage&IOMatrix……
  • 所需E币: 5
    时间: 2019-12-25 16:11
    大小: 104.36KB
    上传者: 微风DS
    ASIDemonstration……
  • 所需E币: 3
    时间: 2019-12-25 16:09
    大小: 63.77KB
    上传者: 16245458_qq.com
    AlteraHot-Socketing&Power-Sequencing优点白皮书……
  • 所需E币: 5
    时间: 2019-12-25 16:09
    大小: 317.65KB
    上传者: 16245458_qq.com
    an348InterfacingDDRSDRAMwithCycloneDevices……
  • 所需E币: 3
    时间: 2019-12-25 15:40
    大小: 258.17KB
    上传者: wsu_w_hotmail.com
    为了提高扩频系统中同步接收机的灵活性,利用DS-UWB无载波的特性,设计了一种码长及码型可变、工作在码片速率的扩频及其同步电路,在扩频电路设计时分别采用了PN码和三进制码,同步模块可以复用,采用VerilogHDL描述电路,然后对该电路进行了功能和时序仿真,最后在Altera的CycloneⅡ系列芯片上验证了该电路,并对采用两种扩频码的适用场合进行了分析.墓速堕鳖瞳翅型型!型塑竺型塑坐基孑DS―UWB硇可变码扩频及同毒昀FPGA实坝李勇,余宁梅(西安理工大学电子工程系,陕西西安7l0048)摘要:为了提高扩频系统中同步接收机的灵活性.利用DS―UwB无载波的特性,设计了一种码长及码型可变、工作在码片速率的扩频及其同步电路,在扩额电路设计时分剐采用了PN码和三进制码,同步模块可以复用,采用VerilogHDL描述电路,然后对该电路进行了功能和时序仿真,最后在Altem的CyclonelI系列芯片上验证了该电路,并对采用两种扩频码的适用场合进行了分析。关键词:MBOKPN扩频同步无载波DS―UWBFPGARealizationofVariablecodes’sspread―spectmmandsynchmnizationofbadedonDS―UWB……
  • 所需E币: 3
    时间: 2019-12-25 11:58
    大小: 102.61KB
    上传者: rdg1993
    Cyclonefpga系列CycloneFPGAFamilyES-CYCFPGA-1.3ErrataSheetIntroductionThiserratasheetprovidesupdatedinformationonCyclonedevices.Thisdocumentaddressesknownissuesandincludesmethodstoworkaroundtheissues.Power-UpAlterahasidentifiedasiliconissueaffectingCycloneEP1C6devices.TheEP1C6engineeringsample(ES)andproductiondevicescanrequireCurrentupto1.2AofcurrentontheVCCINTvoltagesupplytosuccessfullypowerup.ThedurationoftheICCINTpower-uprequirementisdependentontheVCCINTvoltagesupply……
广告