毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

MCS51单片机反向解剖以及正向设计的研究 第16页

更新时间:2009-5-22:  来源:毕业论文
MCS51单片机反向解剖以及正向设计的研究 第16页
输出的操作代码为触发条件,采用硬件描述语言VHDL对ALU的具体操作做了
描述。当仿真验证通过之后,再对源程序进行综合。正向设计时将ALU、译码
电路、暂存器TMPI和TMPZ做为芯片主要模块cpucore的三大部分,即做为
三个主要的元件component,并利用构造体的结构描述方式在cpucore模块中
调用。
元件描述形式:
COMPONENTalu
PORT();
ENDCOMPONENT;
FORALL:aluUSEENTITYwork.alu;
4.2.6时钟模块的设计
MCS一51系列单片机可以使用片上振荡器做为CPU的时钟源,也可以从片
外输入时钟信号。使用片上振荡器,实际上是将片内的倒相器做为反馈元件,与
外部晶振结合在一起构成一个自激振荡器。
Xl,八工2
i过Clk
e终le_蛇吐es
图4一4时钟模块框图
时钟模块框图如图4一4所示,引脚XTALI定义为倒相器的输入端,引脚
XTALZ则定义为其输出端。cyde_states表示单片机的机器周期状态。每个
XTALI信号的上升沿,cyd之states状态发生变化。VHDL源程序为:
PROCESS(int--rst,xtall)
BEGIN
IF(int--rst=’1’)THEN
stat几reg<=”0000”;
ELSE
IF(xtall’eventandxtall=’1’andstate_reg=unsigned(s6PZ))THEN
stat之reg<=unsigned(5lpl);
6O
第四章MCS一51单片机的正向设计
ELSIF(xtall’eventandxtall=’1’)THEN
stat几reg<=stat几reg+1;
ELSE
stat几reg<=stat几reg;
ENDIF;
ENDIF;
eyel之states<==std_logic-veetor(state--re目;
ENDPROCESS;
4.3McS一51单片机总体框图与总体功能的正向设计
MCS一51系列单片机片内结构的总体框图如图4一5所示,结合2.2节中图
2一2所给出的较为详细的结构框图,以及反向解剖芯片时得到的实际经验,本芯
片的顶层设计分为具体的16个功能模块。芯片进行工作时,指令从程序存贮器
(ROM)中取出,再由程序控制模块将当前的执行指令传送到指令译码模块,由译
码电路模块负责对其进行指令译码。指令译码后生成的控制信号来控制数据的传
送和处理,最终实现指令功能。ALU负责对数据进行算术逻辑运算,其操作数
可以来自立即数、数据存储器、累加器等,其操作结果存入专用寄存器或者数据
存储器中。设计中将译码、运算单元做为可以调用的底层元件,共同来构成一个
高层次的设计模块1331。
444KKKKKKKKKKKKKKK
RRROMMMMM128字节节
RRRRRRR八MMM
CCCPUUU
CCCOREEE
OOOSCCCCC4个I刃口口口口口口串串串串串串串串串串串串串串口口
计数
输入
地址徽据
图4一5MCS一51单片机总体框图
第四章MCS一51单片机的正向设计
整个芯片的设计中包括时钟模块、程序控制模块、指令译码模块等用于产
生时序,生成各种控制信号的功能模块;还包括程序存贮器、数据存贮器、端口
和专用寄存器等形成数据通道的功能模块。指令和被处理的数据都要在各个数据
通道组元中流动,在控制部分的作用下,可以完成数据的输入、输出、处理、存
储等操作。
MCS一51系列单片机的专用寄存器中除了PC寄存器在物理上是独立的,其
余的都属于内部数据存贮器的SFR块(80H一FFH)【34}。因此,设计各个专用寄
存器一定要注意合理分配地址,如表4一2所示:
表4一2SFR块中专用寄存器的地址
标标识符符地址址标识符符地址址标识符符地址址
PPPOOO80HHHSBUFFF99HHHIPPPBSHHH
TTTCONNN88HHHP222AOHHHPSWWWDOHHH
PPPI‘葱葱gOHHHIEEEASHHHACCCCEOHHH
SSSCON
-
-
-
98HHHP333BOHHHBBBFOHHH
4.4Mcs一51单片机软核的仿真
4.4.1RTL级的仿真流程
完成了源代码程序的编写之后,首先要进行RTL(RegisterTransferLevel)
级的仿真,即寄存器传输级的仿真验证。RTL级仿真是对正向设计芯片纯粹的
功能仿真,用于保证逻辑功能实现的正确性。仿真的对象仅仅是抽象逻辑,不包
含任何的延时信息。
HHHDL设计模块块
和和测试程序输入入
HHHDL代码编译译
仿仿真真
波波形输出出
观观察输出波形形
图4一6RTL级仿真流程图
第四章MCS一51单片机的正向设计
RTL级仿真的基本流程如图4一6所示,先将HDL语言描述的设计模块和测
试程序输入仿真器;然后利用仿真器对HDL源代码和测试程序进行编译,
·
编译
正确后将元件实体调入编译器中运行;选择加入需要观察的信号,并且观察输出
的波形,确认设计是正确无误的。如果输出的波形不完全满足设计要求,就修改
程序并再次仿真,直到结果符合要求。
4.4.2RTL级的仿真测试程序
测试程序负责输入测试激励或者说测试向量,仿真结果就是设计模块对测试
激励的反应。设计中采用Mentor公司的EDA软件Modelsim作为RTL级仿
真的平台【351,启动Modelsim后建立Proieet、Souree,然后输入、编译VHDL
设计的代码。Modelsim软件不但可以进行程序的编译,还提供了波形Wave、
信号Signals、结构Strueture、数据流Dataflow、进程Proeess等多种窗口,
简化了仿真工作。
通过建立仿真测试平台,可以对设计输入一系列的测试激励,检查输出波形
并验证设计的正确性。在仿真测试文件中描述测试激励通常有两种方法:直接描
述和测试矢量调入。直接描述的方法一般用于带延时的赋值语句,例如时钟信号
的描述:
CONSTANTelkeeeyele:TIME:=80NS;
PROCESS
BEGIN
test--elk<=’1’;
WAITFORelk--eylee/2;
tes仁elk<==‘0’;
WAITFORelk--eylee/2;
ENDPROCESS;
对于测试矢量调入则是指从测试矢量库中读取测试激励,例如数据、地址以及一
些可配置信息等信号的描述:
FILEinveetor:TEXT15IN“filename.in,,;
READ(11,datal);
READ(11,dataZ);

 << 上一页  [11] [12] [13] [14] [15] [16] [17] [18] [19] 下一页

MCS51单片机反向解剖以及正向设计的研究 第16页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。