第四章 系统仿真
4.4分析仿真结果
仿真结束后,会弹出仿真的Report文件,在文件中会包括仿真的概述、参数设置、资源使用率以及得到的输出结果。用户可以根据观察仿真输出的波形以及时序是否满足设计需要,逻辑是否正确,工程所要求的功能是否达到等。如果存在问题,则根据波形所反映出的问题对设计进行修改,然后再次进行仿真,直至达到满意的结果[5]。
仿真是一个复杂的过程,这里所说的复杂并不是操作,而是大部分情况下,我们所做的设计不一定成功,都会出现这样或那样的问题。对各种问题的解决还需要读者的经验积累。只有通过不断的实践,不断的学习,才能提高解决问题的能力和设计的正确性。另外,仿真只适合于一些小系统或某个功能模块的功能验证,而不适合庞大系统的功能验证。因为复杂系统的仿真时间一般都是比较长的而且仿真的数据量也很有限,所以,作者建议对某些功能模块进行验证时可以使用仿真,而对整个系统进行验证时最好使用SignalTap II逻辑分析仪、SignalProbe以及外部逻辑分析仪示波器等工具进行电路板级的调试,这将会节省设计者大量的调试时间。
20
商洛学院学位论文
参考文献
[1]潘松,潘明。现代计算机组成原理。科学出版,2007
[2]侯伯亨,顾新。VHDL硬件描述语言及数字逻辑电路设计。西安:西安电子科技大 出版社,2003
[3]甘登岱。EDA培训教程。北京:机械工业出版社,2005 [4]Jayaram.Bhaker。VHDL教程。北京:机械工业出版社,2006
[5]褚振勇,齐亮。FPGA设计及应用。西安:西安电子科技大学出版社,2006 [6]潘松。VHDL实用教程[M]。成都:电子科技大学出版社,2000
21
附 录
附 录
附录一:tdirreg.vhd library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity tdirreg is port (clk: in std_logic; din: in std_logic; dir : in std_logic; op_l: out std_logic; op_r: out std_logic); end tdirreg;
architecture a of tdirreg is
signal q: std_logic_vector(7 downto 0); begin
process(clk) begin
if clk'event and clk= '1'then if dir = '0' then q(0) <= din; for i in 1 to 7 loop q(i) <= q(i-1); end loop ; else
q(7) <= din;
for i in 7 downto 1 loop q(i-1) <=q(i); end loop ; end if; end if; end process ; op_l <= q(7);
22
商洛学院学位论文
op_r <= q(0); end a;
附录二:siso.vhd library ieee;
use ieee.std_logic_1164.all; entity siso is
port(data_in : in std_logic; clk : in std_logic; data_out : out std_logic); end siso;
architecture a of siso is
signal q : std_logic_vector(3 downto 0); begin process(clk) begin
if clk 'event and clk = '1' then q(0)<=data_in; for i in 1 to 3 loop q(i)<=q(i-1); end loop; end if; end process; data_out<=q(3); end a;
附录三:sipo.vhd library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity sipo is
port(d_in : in std_logic; clk : in std_logic;
d_out : out std_logic_vector(3 downto 0)); end sipo;
23
附 录
architecture a of sipo is
signal q : std_logic_vector(3 downto 0); begin
process(clk) begin
if clk 'event and clk = '1' then q(0)<=d_in; for i in 1 to 3 loop q(i)<=q(i-1); end loop; end if; end process; d_out<=q; end a; 24
商洛学院学位论文
谢 辞
在论文完成之际,我首先要向指导老师表示最真挚的谢意,老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。无论在理论上还是在实践中,都给与我很大的帮助。从课题选择、方案论证到具体设计和调试,无不凝聚着田老师的心血和汗水,由于田老师是我们计算机组成原理老师,大家都认识,所以在课程设计过程中始终感受着田老师的精心指导和无私的关怀,我受益匪浅。在此向田祎老师表示深深的感谢和崇高的敬意。
不积跬步何以至千里,本设计能够顺利的完成,也归功于田老师的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以体现。正是有了他的悉心帮助和支持,才使我的课程设计工作顺利完成。
25