8051软核的VHDL实现
在FPGA中嵌入MC8051软核

在FPGA中嵌入MC8051软核(本人不是专业硬件学习人员,不喜勿喷!)本人用的是由oregano system提供的开源8051软核。
流程如下:1、创建工程第一栏用于指定工程所在的工作库文件夹;第二栏用于指定工程名,工程名可以取任何名字,也可以直接用顶层文件的实体名作为工程名(建议使用);第三栏用于指定顶层文件的实体名。
由于是新建工程,暂无输入文件,直接NEXT注意器件的选择。
(我们老师要求EP2C35F672C6、EP2C35F672C7、EP2C35F672C8三选一)利用QuartusII的集成环境进行开发,不使用任何EDA 工具,因此这里不作任何改动。
2、添加文件(请将VHDL文件夹拷贝至工程目录下)添加文件时,配置文件和顶层文件不需要添加,也就是说带有_cfg和_top_的文件无需添加借用他人的一张图(千万不要加带有_cfg和_top_的文件)双击打开mc8051_p.vhd文件。
把mc8051_top、mc8051_ram、mc8051_ramx和mc8051_rom 的器件模块语句全部删掉并保存、关闭3、生成原理图双击打开mc8051_core_.vhd,然后File→Create/Update→Create Symbol Files for Current File →生成MC8051软核的原理图模块。
4、在工程中用原理图构建SOC(片上系统)a)、新建Block Diagram/Schematic File文件,保存并命名。
File—>newb)、双击Schematic File空白处,添加mc8051软核原理图,如图所示。
然后双击放置。
c)、生成ROM模块双击Schematic File空白处,添加ROM原理图,如图所示。
然后双击配置属性。
下图中可以为rom模块命名(如果你愿意的话)设置ROM 的信息:数据宽度8bits,数据个数4069。
取消ROM 的输出寄存器添加.hex文件d)、生成RAM模块(基本流程与ROM一致,注意点如下)选择lpm_ram_dq来生成ram模块模块命名→位宽及存储空间→取消寄存器输出→添加时钟使能→直接Finish结束设置数据宽度为8bits,数据个数为128取消RAM 的数据输出寄存器,同时选中时钟使能信号端。
ARM、8051、AVR、MSP430、DSP、FPGA六种体系比较区别

ARM、8051、AVR、MSP430、DSP、FPGA六种体系比较区别1.前言嵌入式系统最大特征是“嵌入”二字,也就是说你的控制系统是嵌入于你的控制对象之中,所以首先是服从于对象的需求和特征,脱离对象空论谁好谁坏有何依据?学习单片机无所谓选那款,关键在于你能否掌握其本质,快速的触类旁通,你的产品是否成功就在于你能否最佳的选择好符合嵌入对象特征的MCU。
2.ARM Vs 80511.8051是8位的 ARM是32的2.速度:.ARM的主频可以达到700M而8051超过50M就很了不起了3.ARM运算处理能力强,8051侧重处理逻辑运算,算术浮点运行比较差。
4.ARM的硬件资源丰富,8051硬件资源比较单一和简单。
5.ARM的FLASH和RAM超大,8051太小,干不了大活。
3.ARM Vs AVR(低功耗)ARM是IP核,可供各大芯片商集成到各自的设计中,好比是软件语言中的C++,如果你想换一家厂商或者某家的货太贵,都会有其它的厂商来竞争,至少从理论上,你不会被一家厂商套住。
AVR这方面就差点,ATMEL一家,别无分号。
你只能在他的系列中选一个型号,无法选厂家。
好比是软件语言中的Java,虽然现在免费(指Java的SDK,不是AVR)或价格低,但市场前景更多的掌握在厂商手中。
功能方面,ARM大大优于AVR,ARM可以做PDA,手机,AVR显然不行,最糟糕的是ARM上可以跑Linux,Linux可以做多少事啊,虽说国内实际在ARM平台上跑出Linux而又愿意公开技术的人几乎没有(我正在努力朝这个方向发展),但前途绝对是光明的。
功能上的优势意味着ARM比AVR有着更广的应用范围4.ARM Vs MSP430MSP430会向着专用,更低电压,更低功耗的方向发展,不求功能大而全。
应该会有更多的型号出现以供不同场合的测量使用。
430的编程方法是在低功耗模式与任务之间切换来降低系统功耗,满足便携和节能的要求。
vhdl硬件描述语言与数字逻辑电路设计

vhdl硬件描述语言与数字逻辑电路设计数字逻辑电路设计是一种将数字信号进行处理和控制的技术。
数字电路由元器件(比如集合在一起的门、触发器、逻辑块、寄存器等)构成,这些元件的行为由原理图和逻辑方程式表示。
数字电路的设计主要是为了控制、处理和传输数字信号,具有可控制性、自动化程度较高和灵活性强的特点。
VHDL与数字逻辑电路设计是密切相关的,VHDL既可以用来描述数字电路的结构,也可以用来推导数字电路的行为。
在数字逻辑电路设计中,VHDL语言可以帮助工程师实现电路的功能和特性,简化设计过程,并提高设计的灵活性和可靠性。
VHDL是一种硬件描述语言,可以用来描述数字逻辑电路中的各种元件、信号和功能。
VHDL主要包括以下几个方面的内容:1. 实体(entity):实体用来描述数字电路的外部结构和功能,类似于模块的概念。
一个实体声明了电路的输入输出端口,并定义了电路的功能和行为。
2. 体系结构(architecture):体系结构用来描述实体的内部结构和功能,包括内部信号、寄存器、逻辑块等。
一个体系结构定义了实体的具体实现方式,包括各个元件之间的连接和控制。
3. 信号(signal):信号用来表示数字电路中的各种输入输出信号,包括时钟信号、数据信号、控制信号、状态信号等。
VHDL语言中的信号可以用来描述电路中的各种逻辑关系和行为。
4. 过程(process):过程用来描述电路中的各种行为和动作,比如数据传输、逻辑运算、状态转换等。
VHDL中的过程可以用来描述数字电路中的各种逻辑操作和控制。
5. 组合逻辑(combinational logic):组合逻辑用来描述电路中的各种逻辑运算和逻辑关系,包括与门、或门、非门、异或门等。
组合逻辑表示了电路中的直接逻辑关系和信号转换。
6. 时序逻辑(sequential logic):时序逻辑用来描述电路中的各种时钟触发、状态转换、寄存器等。
时序逻辑表示了电路中的时钟控制、状态转换和时序问题。
8051软核的VHDL实现

攀枝花学院本科毕业设计(论文)8051软核的VHDL实现学生姓名:学生学号:院(系):电气信息工程学院年级专业:自动化指导教师:职称副教授助理指导教师摘要本文以研究嵌入式微处理器为主,设计了能够运行8051系列单片机指令的单片机系统。
系统采用自顶而下的综合设计方法,用VHDL语言完成了软核中的存储器单元,逻辑运算单元和其它单元的设计。
并且在Altera公司的FPGA上通过验证。
本系统把具有相同功能的逻辑电路集中到一个框图里,使得系统的可移植性大大地提高。
对已实现的部分典型指令进行了软件仿真测试和采取外围电路验证该软核的功能,测试结果表明,所设计的8051软核系统能够如预期地执行相应的指令并且合乎FPGA开发板调试,满足设计要求。
关键词嵌入式,自顶而下,VHDL,软核,单片机ABSTRACTThis paper studies the embedded microprocessor, designed to run8051 series MCU instruction system of single-chip microcomputer. System using a top-down design method, using VHDL language to complete the core memory cell in the arithmetic logic unit and other unit design. And in Altera's FPGA through verification. This system has the same function logic circuit is concentrated to a diagram, the system greatly improves the portability. To have achieved some typical instruction of a software simulation test and take the peripheral circuit to verify the core functions, test results show that, the design of the 8051core system as expected to execute instructions and a FPGA development board debugging, meets the design requirements.Key words embedded,top-down method,VHDL,soft core,MCU目录摘要 (I)ABSTRACT ....................................................................................................................... I I1绪论 (1)课题背景 (1)1.1.1 FPGA软核VHDL实现研究背景 (1)1.1.2 FPGA软核VHDL实现研究意义 (1)1.2 单片机发展状况 (2)1.3 研究内容和实现手段 (2)1.3.1 本文研究内容 (2)1.3.2 VHDL语言特点 (2)1.3.3 采用FPGA设计的验证手段 (3)指令系统简介 (3)2 总体MCS8051lP软核的数字系统建摸分析 (5)2.1 数字系统建模中模型的概念 (5)2.2 建模的域与层次 (5)2.3 建模语言 (7)2.3.1 VHDL的概念级建模 (7)2.3.2 VHDL和Verilog两种硬件设计语言的比较 (8)自定向下设计的基本概念 (8)3 MSC-51软核分析 (10)3.1 顶层模块 (10)3.2 指令译码模块 (11)3.2.1 寄存器单元模块 (11)3.2.2 控制状态机模块 (12)3.3 时钟域 (13)存储器接口 (13)3.5 定时器/计数器,串行接口,中断 (13)3.6 算术和逻辑指令 (14)3.7 数据传送类指令 (14)3.8 程序跳转 (15)3.9 寻址模式 (16)中断 (16)4 8051 IP核分块设计 (18)4.1 定时器/计数器模块的实现 (18)4.2 alu模块的实现 (19)4.2.1 alumux 模块 (21)4.2.2 alucore 模块 (22)4.2.3 mul 模块 (23)4.2.4 adjust 模块 (23)4.3 control 控制模块的实现 (24)4.3.1 control_fsm 模块 (25)4.3.2 control_mem 模块 (27)4.4 存储器模块的实现 (28)4.4.1 内部RAM模块和外部RAM的实现 (28)4.4.2 内部 ROM 模块的实现 (28)4.5 8051IP模块的总体实现 (29)5 仿真与验证 (30)5.1 仿真的工具和仿真步骤 (30)5.2 仿真具体问题的实现 (30)6 硬件调试及验证 (34)结论 (37)参考文献 (38)附录A:LED电路连线图 (43)附录B:流水灯控制C程序 (40)附录C:PWM方式控制LED灯亮度C程序 (41)致谢 (44)1 绪论FPGA软核VHDL实现研究背景随着超大规模集成电路(VLSI)工艺的进一步迅猛发展,片上系统SoC (system on a chip )的规模越来越大,由此片上系统的设计变得越来越复杂。
VHDL语言教程

VHDL语言教程VHDL是一种硬件描述语言,用于描述数字电路和系统,并进行硬件的设计和仿真。
它被广泛应用于数字电路设计、嵌入式系统开发和可编程逻辑控制器等领域。
本教程将介绍VHDL语言的基本概念和语法,帮助您了解和学习这门强大的硬件描述语言。
一、VHDL概述VHDL是Very High Speed Integrated Circuit Hardware Description Language的缩写,意为高速集成电路硬件描述语言。
它是一种硬件描述语言,用于描述数字电路和系统。
与传统的电路设计方法相比,使用VHDL可以更加方便、高效地进行电路设计和测试。
1.VHDL的起源和发展VHDL最早由美国国防部为了解决数字电路设计复杂、效率低下的问题而研发。
后来,VHDL成为了一种IEEE标准(IEEE1076)并被广泛应用于数字电路设计和仿真。
2.VHDL的优点VHDL具有以下几个优点:-高级抽象:VHDL提供了一种高级描述电路的方法,使得设计者能够更加方便地表达复杂的电路结构和行为。
-可重用性:VHDL支持模块化设计,使得设计者可以将电路的不同部分进行抽象和封装,提高了电路的可重用性。
-高效仿真:VHDL可以进行高效的电路仿真和测试,有助于验证电路设计的正确性和可靠性。
-灵活性:VHDL可以应用于各种不同类型和规模的电路设计,从小规模的数字逻辑电路到大规模的系统级设计。
二、VHDL语法和基本概念1.VHDL的结构VHDL程序由程序单元(unit)组成,程序单元是VHDL描述的最小单元。
程序单元包括实体(entity)、结构(architecture)、过程(process)和包(package)等。
2. 实体(entity)实体是VHDL描述电路模块的一个部分,包括输入输出端口、信号声明和实体标识符等。
3. 结构(architecture)结构描述了实体的具体电路结构和行为,包括组件声明、信号赋值和行为描述等。
vhdl语言

VHDL语言VHDL(VHSIC Hardware Description Language)是用于描述数字电路和系统的硬件描述语言,是一种标准化的硬件描述语言,广泛应用于数字电路设计和电子系统设计领域。
VHDL语言是一种强大的工具,可以帮助工程师描述复杂的数字电路,并进行仿真和综合。
它可以描述电路的结构、功能和时序行为,是一种形式化的语言,能够准确地描述电路的行为特性,有助于工程师在设计阶段发现和解决问题。
VHDL语言的基本概念实体(Entity)•实体描述了电路的接口和功能,可以看作是一种抽象的模块。
•实体中定义了输入输出端口,以及对应的信号类型和位宽。
•实体可以包含多个体系结构(Architecture)。
体系结构(Architecture)•体系结构描述了实体的具体实现,定义了实体的行为。
•体系结构中包含了处理逻辑、时序行为以及信号的赋值。
•体系结构可以描述电路的功能和行为。
信号(Signal)•信号是VHDL语言中的基本数据类型,用于在电路中传递信息。
•信号可以是标量(Scalar)或矢量(Vector),可以是时序或组合。
•信号的赋值可以是同步的或异步的。
过程(Process)•过程描述了VHDL中的行为,通常用于描述组合逻辑或时序逻辑。
•过程中可以包含逻辑运算、条件语句、循环语句等。
•过程中的代码在仿真或综合时会被执行。
VHDL语言的应用VHDL语言主要用于数字电路设计、电子系统设计、FPGA设计等领域。
工程师可以使用VHDL语言描述数字电路的结构和行为,进行仿真和综合,快速验证设计的正确性。
VHDL语言的应用领域包括但不限于:•数字电路设计•通信系统设计•控制系统设计•图像处理系统设计•嵌入式系统设计VHDL语言在电子设计领域具有广泛的应用前景,可以帮助工程师快速高效地设计数字电路系统,并满足不同应用场景的需求。
总结VHDL语言是一种强大的硬件描述语言,可以帮助工程师描述数字电路的结构和行为,进行仿真和综合,快速验证设计的正确性。
采用VHDL语言实现数据采集与控制系统软IP核的设计

采用VHDL语言实现数据采集与控制系统软IP核的设计现代模拟仿真技术广泛应用在系统设计、系统分析以及教育训练中。
在模拟过程中,存在大量向前端模拟装置或仿真模块发送指令数据,以及从模拟工作设备上读取状态参量的情况。
在对大型工业设备和系统进行模拟仿真时,数据采集控制的复杂程度愈加恶劣。
通过改进数据采集控制器的结构,提高数据采集控制器的自动化和集成化程度,可以有效地提高大型模拟仿真设备数据采集和控制的效率。
FPGA及SoPC技术的发展为此提供了新的解决方案。
IP核(IP Core)是具有特定电路功能的硬件描述语言程序,可较方便地进行修改和定制,以提高设计效率。
本文研究了基于FPGA的数据采集控制器IP 核的设计方案和实现方法,该IP核既可以应用在独立IC芯片上,还可作为合成系统的子模块直接调用,实现IP核的复用。
1 系统结构数据采集控制器主要分为发送机制和接收机制两部分。
在传统的模拟仿真系统中,发送机制负责将模拟仿真系统主机控制程序模拟运算的数据传给事先定义的变量,通过专用接口卡将其放在绝对内存地址单元中,再借助智能双端口的工控机将数据发至前端,以驱动前端设备(如仪表、显示灯等)进行显示,或使前端设备(如开关、阀门、步进电机等)进行动作;接收机制与之相反,即实时地将从前端工控机采集的模拟设备的动作量和状态量(包括模拟实际情况的温度量、压力量等)读到计算机内存地址单元中,并通过专写程序把这些变量值转换成主控程序所需要的数据。
前端设备种类繁多,因此实际中需有针对性地进行设计,以实现工控机对前端设备的控制。
此外,工控机与主机之间还必须通过专用接口进行通信,如图1所示。
其结构复杂,不利于设计和调试,同时降低了模拟仿真系统的实时性和效率。
本文设计的IP 核将传统结构中工控机和接口卡两级的数据采集控制系统结合起来,设计了一个集成的控制器,由其完全承担主机与前端设备的数据交换与通信任务。
这样,主机仅负责对整个系统的监控以及对模拟仿真模型的规格运算,而不再分出资源来管理前端模。
VHDL入门教程

VHDL入门教程VHDL(Very High-Speed Integrated Circuit HardwareDescription Language)是一种硬件描述语言,用于设计数字电路和系统。
它是由美国国防部在20世纪80年代早期开发的,并由IEEE 1076标准化。
VHDL可以用于描述电路结构、电路行为和模拟。
一、VHDL概述VHDL是一种硬件描述语言,它允许工程师以更高级的语言编写硬件描述。
它可以描述电路结构、电路行为和模拟。
VHDL可以应用于各种电子系统的设计,从简单的数字逻辑门到复杂的处理器。
二、VHDL基本结构VHDL的基本结构包括实体声明、体声明和结构化代码。
实体声明描述了电路的接口,包括输入和输出。
主体声明描述了电路的行为。
结构化代码定义了电路的结构。
三、VHDL数据类型VHDL提供了多种数据类型,包括标量类型(比如整数和实数)、数组类型和记录类型。
每种类型都有其特定的操作和范围。
四、VHDL信号VHDL中的信号用于在电路中传递信息。
信号可以在过程中赋值,并且具有各种延迟属性。
信号还可以连接到模块的输入和输出端口,以实现电路之间的通信。
五、VHDL实体和体VHDL设计包含实体和体。
实体描述了电路的接口和连接,而体描述了电路的行为。
实体和体之间使用端口来传递信息。
六、VHDL组件VHDL中的组件用于将电路模块化,以实现更高层次的设计和复用。
组件可以在实体中声明,并在体中实例化。
七、VHDL并发语句VHDL中的并发语句用于描述电路中多个同时运行的过程。
并发语句包括并行语句、过程、并行块和并行时钟。
八、VHDL测试VHDL测试包括自动测试和手动测试。
自动测试使用测试工具和仿真器来验证电路的正确性。
手动测试包括使用仿真器进行手工测试和调试。
九、VHDL实例以下是一个简单的VHDL实例,实现了一个4位二进制加法器:```vhdllibrary IEEE;use IEEE.STD_LOGIC_1164.all;entity binary_adder isporta : in std_logic_vector(3 downto 0);b : in std_logic_vector(3 downto 0);sum : out std_logic_vector(4 downto 0);carry : out std_logicend binary_adder;architecture behavior of binary_adder isbeginprocess(a, b)variable temp_sum : std_logic_vector(4 downto 0);variable temp_carry : std_logic;begintemp_sum := ("0000" & a) + ("0000" & b);temp_carry := '0' when temp_sum(4) = '0' else '1';sum <= temp_sum;carry <= temp_carry;end process;end behavior;```上述VHDL代码定义了一个名为`binary_adder`的实体,它有两个4位输入`a`和`b`,一个5位输出`sum`和一个单一位输出`carry`。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
攀枝花学院本科毕业设计(论文)8051软核的VHDL实现学生姓名:段海学生学号:200810503007院(系):电气信息工程学院年级专业: 2008级自动化指导教师:范方灵职称副教授助理指导教师二〇一二年五月摘要本文以研究嵌入式微处理器为主,设计了能够运行8051系列单片机指令的单片机系统。
系统采用自顶而下的综合设计方法,用VHDL语言完成了软核中的存储器单元,逻辑运算单元和其它单元的设计。
并且在Altera公司的FPGA上通过验证。
本系统把具有相同功能的逻辑电路集中到一个框图里,使得系统的可移植性大大地提高。
对已实现的部分典型指令进行了软件仿真测试和采取外围电路验证该软核的功能,测试结果表明,所设计的8051软核系统能够如预期地执行相应的指令并且合乎FPGA开发板调试,满足设计要求。
关键词嵌入式,自顶而下,VHDL,软核,单片机ABSTRACTThis paper studies the embedded microprocessor, designed to run8051 series MCU instruction system of single-chip microcomputer. System using a top-down design method, using VHDL language to complete the core memory cell in the arithmetic logic unit and other unit design. And in Altera's FPGA through verification. This system has the same function logic circuit is concentrated to a diagram, the system greatly improves the portability. To have achieved some typical instruction of a software simulation test and take the peripheral circuit to verify the core functions, test results show that, the design of the 8051core system as expected to execute instructions and a FPGA development board debugging, meets the design requirements.Key words embedded,top-down method,VHDL,soft core,MCU目录摘要 (I)ABSTRACT ....................................................................................................................... I I1绪论 (1)1.1课题背景 (1)1.1.1 FPGA软核VHDL实现研究背景 (1)1.1.2 FPGA软核VHDL实现研究意义 (1)1.2 单片机发展状况 (2)1.3 研究内容和实现手段 (2)1.3.1 本文研究内容 (2)1.3.2 VHDL语言特点 (2)1.3.3 采用FPGA设计的验证手段 (3)1.4 MCS.51指令系统简介 (3)2 总体MCS8051lP软核的数字系统建摸分析 (5)2.1 数字系统建模中模型的概念 (5)2.2 建模的域与层次 (5)2.3 建模语言 (7)2.3.1 VHDL的概念级建模 (7)2.3.2 VHDL和Verilog两种硬件设计语言的比较 (8)2.4自定向下设计的基本概念 (8)3 MSC-51软核分析 (10)3.1 顶层模块 (10)3.2 指令译码模块 (11)3.2.1 寄存器单元模块 (11)3.2.2 控制状态机模块 (12)3.3 时钟域 (13)3.4存储器接口 (13)3.5 定时器/计数器,串行接口,中断 (13)3.6 算术和逻辑指令 (14)3.7 数据传送类指令 (14)3.8 程序跳转 (15)3.9 寻址模式 (16)3.10 中断 (16)4 8051 IP核分块设计 (18)4.1 定时器/计数器模块的实现 (18)4.2 alu模块的实现 (19)4.2.1 alumux 模块 (21)4.2.2 alucore 模块 (22)4.2.3 mul 模块 (23)4.2.4 adjust 模块 (23)4.3 control 控制模块的实现 (24)4.3.1 control_fsm 模块 (25)4.3.2 control_mem 模块 (27)4.4 存储器模块的实现 (28)4.4.1 内部RAM模块和外部RAM的实现 (28)4.4.2 内部 ROM 模块的实现 (28)4.5 8051IP模块的总体实现 (29)5 仿真与验证 (30)5.1 仿真的工具和仿真步骤 (30)5.2 仿真具体问题的实现 (30)6 硬件调试及验证 (34)结论 (40)参考文献 (41)附录A:LED电路连线图 (46)附录B:流水灯控制C程序 (43)附录C:PWM方式控制LED灯亮度C程序 (44)致谢 (47)1 绪论1.1课题背景1.1.1 FPGA软核VHDL实现研究背景随着超大规模集成电路(VLSI)工艺的进一步迅猛发展,片上系统SoC (system on a chip )的规模越来越大,由此片上系统的设计变得越来越复杂。
由于采用IP核复用技术可以简化多功能芯片的设计,开发IP核成为当前片上系统设计的重要手段。
IP是知识产权模块(intellectual property block)的简称,定义为密封在硬件设计中的可重复利用的软件。
在电子工业上通常把IP核分为软核、硬核和固核三种。
软核包括逻辑描述(RTL和门级VHDL代码)、器件内部连线表和不能用外部仪器进行的可测性设计。
软核可经用户修改,以实现所需要的电路系统,它主要用于接口、编码、译码、算法和信道加密等对速度性能要求范围较宽的复杂系统。
硬核的设计与工艺已完成且不能更改,其具体形式有存储器、模拟电路和总线器件等。
用户得到的硬核仅是产品功能而不是产品设计,因此,硬核设计的知识产权的保护也较简单。
固核是一种介于软核与硬核之间的IP,可根据用户要求作部分修改。
固核允许用户重新定义关键的性能参数,有的内部连线表也可以重新优化,其使用流程与软核相同。
1.1.2 FPGA软核VHDL实现研究意义软核开发工作量较小,因此一般开发成本较低,柔性大,如可增加特性或选择工艺并容易从一个工艺向另一个工艺转移,且性能可提高,但可预测性差。
硬核的开发成本最高,柔性小,但性能一定并具有可预测性,更重要的是上市时间短,易于使用。
固核介于硬核与软核之间,IP 用户将从实用、性能、价格、上市时间等各种因素综合考虑选择IP。
软核和硬核的设计工作量、设计预测性和性能的差异是由它们不同的设计流程所决定的为了加快产品的研发进度,基于芯核的设计已成为EDA发展的必然趋势。
IP核重复利用具有可以提高设计能力,节省设计劳力,大大缩短上市周期,更好地利用现有的工艺技术,降低成本等诸多优点。
那么基于IP复用技术的设计方法将会提高SoC 的开发效率,并逐渐成为了21世纪集成电路技术的必然趋势。
然而,随着系统复杂度的提高,如何提高IP的可复用性成为设计人员必须面对的问题。
嵌入式软核处理器在设计开发中的应用越来越广泛,与传统的基于处理器芯片的开发方式相比,软核受硬件条件限制小,具有更大的灵活性,可缩短系统的设计开发时间。
采用FPGA与IP核相结合进行嵌入式系统开发,为设计人员提供了一种新的快捷高效的设计思路。
本文设计实现了一个优化的8051 IP核将其嵌入Altera公司Cyclone系列FPGA器件中,并做了功能测试及应用设计。
1.2 单片机发展状况自从上世纪70年代初世界第一块单片机的推出到现在已经有三十几年的历史了,在这短短的三十几年里,单片机的发展经历了好几次重要的飞跃,表现在如下几个方面。
单片机的处理位在逐渐翻倍,这意味着单片机处理数据的能力在不断提高,速度也越来越快,最初的四位单片机只能用于一些简单的控制场合,如家用电器,玩具等。
接着便出现了具有较快数据处理能力的八位单片机,八位单片机由于具有优异的性能,其运用领域也比四位单片机广阔的多。
但是在某些需要适时较快数据处理的地方,八位单片机的速度还是达不到要求,这就又促使16位单片机的推出。
如今,由于社会自动化生产的需要,控制软件也越来越复杂,能够支持操作系统的嵌入式系统在这方面就表现出明显的优势。
所以单片机向32位嵌入式微处理器的发展也是一个趋势。
除了位数翻倍外,单片机的封装也越来越小型化了,功耗也越做越低,这些都得益于集成电路工艺的不断创新。
1.3 研究内容和实现手段1.3.1 本文研究内容本文研究的内容主要包括:熟悉并运用VHDL语言进行系统设计,嵌入式微处理器内部结构研究;以MCS-51系列单片机指令为参考,利用原理框图和硬件描述语言的输入方式完成实现处理器的各种功能;以Altera公司的FPGA芯片EP2C5T144C8为目标芯片,用Quartus II的仿真工具对设计结果进行验证。
1.3.2 VHDL语言特点VHDL的英文全名为VHSIC,由美国国防部于1983年创建,由IEEE进一步发展,并在1987年作为“IEEE标准1076”发布。
从此,VHDL语言成为硬件描述语言的业界标准之一。
VHDL作为一个规范的语言核建模语言,随着它的标准化,出现了一些支持语言行为的仿真器。
由于创建VHDL的最初目标是用于标准文档的建立和电路功能的模拟,其基本能想法是在高层次上描述系统和元件的行为。
但到了二十世纪九十年代初,人们发现,VHDL不仅可以作为系统模拟的建模工具,而且可以作为电路系统的设计工具;可以利用软件工具将VHDL源码自动地转化为文本方式表达的基本逻辑元件连接图,即网络文件。
这种方法显然对于电路自动设计是一个极大地推进。
很快,电子设计领域出现了第一个软件设计工具,即VHDL逻辑综合器,它可以标准地将VHDL的部分语句描述转化为具体电路实现的网络文件。
1993年,IEEE 对VHDL语言进行了修订,从更高的抽象参差和系统描能力上扩展了VHDL的内容,公布了新版本的VHDL语言,即IEEE标准的1076-1993版本。