基于EDA技术的定向型计算机硬件设计
2009-05-16 11:10:05 来源:WEB开发网对于图1中ispLSI 芯片功能图中内存ROM 16X8的功能采用VHDL实现代码如下。
rom16x8: process(ce)
begin
if ce='0' then --使能端ce 为逻辑“0”时,才能进行数据的读取命令。
case addrbus is
when "0000"=>
maindata<="10100000";
when others=>
maindata<="00000000";
end case;
end if; end process rom16x8;
3.2 CPU功能模块的VHDL实现
对于图1 中ispLSI 芯片功能图中内CPU 功能模块的VHDL 实现流程如图3 所示,它是整个模型机的核心。
图片看不清楚?请点击这里查看原图(大图)。
图3 CPU 功能模块VHDL 实现流程
计算机硬件系统的仿真根据ROM的中存放的程序不同,这个模型机完成的操作也就不同,下面将通过建立编写仿真测试向量,来进行逻辑功能仿真,检验设计是否实现了需要完成的功能。 对实现20-6+2运算的工作程序及其在ROM内存映像(起始地址0H)如表3所示:
表3工作程序
图片看不清楚?请点击这里查看原图(大图)。
进行功能仿真首先需要用ABEL-HDL语言编写独立的测试向量文件:
MODULE model
clk,reset,outport,led,wr pin;
Test_vectors ([clk,reset]->[outport,led,wr]) [.x.,1]->[.x.,.x.,.x.];
@REPEAT 100 {[.c.,0]->[.x.,.x.,.x.];} [.x.,1]->[.x.,.x.,.x.];
END
利用上面建立的测试向量文件,其仿真结果如图4所示。
由仿真波形可以看到在执行OUT 指令时送出20-6+2的运算结果为1C,同时使输出给OUTPUT DEVICE 的信号led=’0’,wr也由1->0。在执行HLT指令时run 由1->0,模型机停机。这与理论结果完全相符。
图片看不清楚?请点击这里查看原图(大图)。
图4 仿真结果
结束语
作者创新点为:提出了在TDN-CM++实验装置中的复杂可编程逻辑器件ispLSI1032芯片上,设计定向型计算机硬件系统(包括运算器、控制器、存储器)的结构、设计方法及具体实现,弥补了TDN-CM++实验装置的不足,为进一步理解计算机原理和组成以及系统结构方面的知识创造了条件,为嵌入式系统等的应用打好基础。
更多精彩
赞助商链接