1. 为何要做Target Board?
NiosII IDE提供了一个烧写flash的工具Flash Programmer(在Tools菜单下,如图1所示)。
图1 Nois II IDE中Tools菜单下Flash Programmer
但在使用Flash Programmer之前,必须指定当前project的Target Board(在SOPC Builder里System Content页中指定,如图2)。图2中,指定的Target Board为UP3_Board。Altera给自己开发版都提供了对应的Target Board,但是对于用户自己做的板子来说,Altera提供的Target Board一般都不适用。所以用户要根据自己的板子,制作一个自己板子专用的Target Board。
图2 在SOPC Builder中指定Target Board
2. Target Board是什么?
Altera的文档中是这么定义的:“the term “target board” refers to the set of files used by SOPC Builder to determine board characteristics on which the system is being implemented”。
就我理解,Target Board主要记录的是板子上各种flash芯片的信息(flash的容量等)。做一个Target Board就是做一个project用于烧写板子上的flash芯片。当使用IDE中的Flash Programmer烧写flash芯片的时候。IDE...

>> 阅读全文

基于FPGA的LCD
飞机座舱图形显示系统已发展到第六代,即采用有源矩阵彩色液晶显示器AMLCD(Active Matrix Liquid Crystal Display)。当前高分辨率的军用AMLCD显示模块还只能依靠进口,且控制电路板须安装在该显示模块提供的机箱内。这种安装方式对AMLCD控制电路板的尺寸要求高,要求尽可能减少所设计电路板的尺寸。在笔者设计的新一代飞机座舱图形显示系统中使用了大规模现场可编程门阵列FPGA(Field Programmable Gata Array),这种设计方式可以将以前需要多块集成芯片的电路设计到一块大模块可编程逻辑器件中,大大减少了电路板的尺寸,增强了系统的可靠性和设计的灵活性。本文详细介绍了已在实际项目中应用的基于FPGA的图形式AMLCD控制器设计,这种设计方法稍作修改即可应用于常见VGA视频接口电路的设计。
1 图形显示系统简介
图1是飞机座舱图形显示系统结构框图。图中处理器采用AD公司的ADSP21061芯片,AMLCD采用Korry 公司的KDM710全彩色液晶显示模块,该模块为5×5英寸、600×600分辨率彩色液晶显示模块,24位数字RGB输入。两个帧存A和B采用IDT公司的71V424高速异步静态RAM,系统采用两个帧存轮流操作的方法:当DSP向其...

>> 阅读全文

基于FPGA的USB2.0控制器设计
在视频存储和图像宽带领域中,经常遇到实时高速数据传输的要求。2000年4月,由Intel、 Microsoft、NEC、Compaq、Lucent、Phillips等公司共同制订的USB2.0(Universal Serial Bus)传输协议,其速度远远超过了目前使用IEEE1394接口进行视频传输的400Mbps,达到了480Mbps;而且具有即插即用的PnP (Plug And Play)、可进行菊花链式的级联(通过USB HUB进行外围扩展)、可串连多达127个USB设备等优点。应用该协议可支持实时语音、音频和视频数据的传输。
本文针对高速数据传输需求,根据USB2.0的协议规范,利用VHDL语言实现符合该协议的功能控制器,在视频压解系统中使数据在PC与外设之间高速传输。如图1所示由视频A/D采集的原始视频数据,在Philips公司生产的TM1300专用视频处理器中压缩后,通过USB控制器送至PC机。PC机的整个通过USB控制器传输到TM1300,解压后发送至视频D/A。
1 控制器结构原理
USB2.0控制器结构框图如图2所示。控制器主要由两个部分组成,其一为与外设的接口,另一个是内部协议层逻辑PL(Protocol Layer)。内部存储器仲裁器实现对内部DMA和外部总线对存储器访问之间的仲裁。PL...

>> 阅读全文

Quartus II是一款功能强大的EDA软件。在这个集成开发环境中,PLD使用者可以完成编辑、编译、仿真、综合、布局布线、时序分析、生成编程文件、编程等全套PLD开发流程。 Quartus II以工程(Project)为单位管理文件。保证了设计文件的独立性和完整性。 由于Quartus II功能众多,每一项功能都对应一个甚至多个文件类型。在使用中,如果需要转移或备份某一工程对应的文件,对众多文件的取舍成了一个令人头痛的问题。类似问题,在使用Maxplus II的过程中也很常见。 使用Quartus II自带的工程文件压缩功能可以省去取舍文件的麻烦。但是.qar文件把众多文件压缩成一个文件,只有解压缩才能获取具体文件的信息。如果使用版本控制工具(如CVS)的话,对.qar文件无法进行版本比较。甚至当.qar文件受损时,部分甚至全部文件都无法恢复了。而且,缺省配置的.qar文件也包含了一些非关键文件,存在一定的冗余。 解决这一问题的关键在于弄清文件扩展名的意义,明明白白地控制文件的取舍。 下面的文件是从Quartus II帮助文件中拷贝出来的文件扩展名解释。
File Type
Extension
AHDL Include File
.inc
ATOM Netlist File
>> 阅读全文

Nios II设备分析 Altera公司是世界上可编程芯片系统(SOPC)解决方案领先者之一,Nios II是Altera公司推出的最新32位嵌入式软核处理器,具有很大的灵活性,Nios II开发包中含有一套通用外设和接口库,用户可以方便的进行系统集成。我们也需要将拥有自主知识产权的IP集成到Nios II处理器系统,通过SOPC Builder软件的用户逻辑接口向导可以方便的将IP集成到Nios II处理器系统中,同时提供设备驱动程序,本文对Nios II设备体系做一个分析,供开发人员在编写设备驱动程序时参考。
Nios设备体系总体说明 Nios II与以往版本Nios的设备体系有了较大的改进,Nios II不再使用SDK方式提供设备驱动,而是采用了硬件抽象库(hardware abstraction layer system library, HAL),应用程序不再直接去控制硬件设备,而是调用HAL API去驱动。HAL API包含了ANSI C 标准库,应用开发人员可以用熟悉的C库函数存取(控制)设备和文件,HAL使Nios II中的设备象UNIX系统设备一样具有相对一致的开发接口,同时也提供了UNIX风格的库函数,其使用方式和习惯类似于我们熟悉的UNIX (LINUX)系统,设备使用更加一致。这种体系使应用开发人员和设备驱动开发人员可以分工合作,提高开发效率,同时...

>> 阅读全文

DSP Builder是Altera推出的一个数字信号处理(DSP)开发工具,它在Quartus Ⅱ FPGA设计环境中集成了MathWorks的Matlab和Simulink DSP开发软件。Altera的DSP系统体系解决方案是一项具有开创性的解决方案,它将FPGA的应用领域从多通道高性能信号处理扩展到很广泛的基于主流DSP的应用,是Altera第一款基于C代码的可编程逻辑设计流程。
在Altera基于C代码的DSP设计流程中,设计者编写在Nios Ⅱ嵌入处理器上运行的C代码。为了优化DSP算法的实现,设计者可以使用由Matlab和Simulink工具开发的专用DSP指令。这些专用指令通过Altera的DSP Builder和SOPC Builder工具集成到可重配置的DSP设计中。对DSP设计者而言,与以往FPGA厂商所需的传统的基于硬件描述语言(HDL)的设计相比,这种流程会更快、更容易。
除了全新的具有软件和硬件开发优势的设计流程之外,Altera DSP系统体系解决方案还引入了先进的Stratix和Stratix Ⅱ系列FPGA开发平台。Stratix器件是Altera第一款提供嵌入式DSP块的FPGA,其中包括能够有效完成高性能DSP功能的乘法累加器(MAC)结构。Stratix Ⅱ FPGA能够提供比Stratix器件高四倍的DSP带宽,更适合于超高性能DSP应用。
6.1 DSP Buil...

>> 阅读全文


NIOS软件设计流程和方法
1软件开发包
NIOS嵌入式处理器是经过专门优化过的软核CPU,以便于在可编程逻辑器件上实现SOPC设计。Altera。公司提供SOPC Buildei。系统开发工具,来帮助用户创建采用NIOS处理器的软硬件系统:硬件设计师利用SOPC Builder构建软硬件开发的基础,SOPC Builder的生成结果将作为特定用户设计的开发软件的起点。
当SOPC Builder生成一个NIOS处理器设计时,会完成以下工作:
1.系统存储器映像的一致性检查。对外设地址和中断优先级进行惟一性验证,检查其是否在CPU的有效访问范围之内。如果不是,报告相应的错误,并在继续下一步以前修正。
2.为NIOS系统生成一个定制的软件开发包(Soflw~e Development Kit,SDK)。
3.生成NIOS处理器系统的硬件设计文件。硬件设计师可以用这些文件来创建NIOS系统硬件。
1.1软件开发流程
在进行NIOS软件开发时,通常按照下面的过程进行。
步骤1:获得目标N10S系统的SDK
从SOPC Builder创建的工程目录中(或从负责NIOS处理器硬件系统的设计师那里)得到目标NIOS处理器系统的SDK。软件开发环...

>> 阅读全文

NIOSII常见问题总结
1. 怎样在TCL脚本分配管脚 source .tcl 有点问题:# source stratix_pin_assign.tcl couldn''t read file "stratix_pin_assign.tcl": no such file or directory答: From the Tools menu select Tcl Scripts, and then from the project folder choose the setup script for your particular development board, and click Run. 2.D:\TEST\nios_sst60下载时出现错误:Error: Can''t configure device. Expected JTAG ID code 0x020010DD for device 1, but found JTAG ID code 0x020B40DD.答:SOPC所选器件和开发板上的不一致。3.在NOIS II中Bulid例程hello_world都出现了错误,错误提示为:gdrive/c/altera/kits/nios2/components/altera_nios2/HAL/src/alt_busy_sleep.c:68: error: parse error before ''/'' token等错误全部由alt_busy_sleep.c引起,都是关于括号不匹配的问题,而alt_busy_sleep.c是IDE中的一个默认程序。这个错误同样出现在D:\TEST\DE2Project\software\nios2 ,培训用的一个简单实验。答:找到system.h文件,里面有个关于系统时钟频率的设置项,应该是没有赋值,你手动赋值。比如你用50MHZ的时钟,就设成...

>> 阅读全文