signal downto 0);
seg_buf5,seg_buf6,seg_buf7,seg_buf8:std_logic_vector(3
signal seg_cnt:std_logic_vector(2 downto 0); signal seg_temp:std_logic_vector(3 downto 0); signal clk:std_logic; begin
process(clk5) begin
if clk5'event and clk5='1' then clk<=not clk; end if; end process; process(clk5,rst) begin
if clk5' event and clk5='1' then if clk='1' then seg_buf1<=\ seg_buf2<=\ seg_buf3<=\ seg_buf4<=\ seg_buf5<=\ seg_buf6<=\ seg_buf7<=\ seg_buf8<=\ else
seg_buf1<=\ seg_buf2<=\ seg_buf3<=\ seg_buf4<=\ seg_buf5<=\ seg_buf6<=\ seg_buf7<=\ seg_buf8<=\ end if; end if;
- 11 -
end process; process (clk3,rst) begin
if clk3' event and clk3='1' then if rst='1' then seg_cnt<=\ else
seg_cnt<=seg_cnt+1; end if; end if; end process; seg_sel<=seg_cnt;
process(seg_cnt,seg_buf1,seg_buf2,seg_buf3,seg_buf4,seg_buf5,seg_buf6,seg_buf7,seg_buf8)
begin
case seg_cnt is
when o\ when o\ when o\ when o\ when o\ when o\ when o\ when o\ when others=> seg_temp<=\ end case; end process; process(seg_temp) begin
case seg_temp is
when \ when \ when \ when \ when \
- 12 -
when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when \ when others=> null; end case; end process;
end architecture ado;
4 运行调试
4.1 时序仿真
(1) 建立波形文件。选择File项及其New,再选择New窗中的Waveform Editer..项,打开波形编辑窗。
(2)输入信号节点。在波形编辑窗的上方选择Node项,在下拉菜单中选择输入信号,在弹出的窗口中首先点击List键,这时左窗口将列出设计所以信号节点。由于设计者有时只需要观察其中部分信号的波形,因此要利用中间的“=>”键将需要观察的信号选到右栏中,然后点击OK键即可将测试信号。
(3)设置波形参量。波形编辑窗中已经调入了所有节点信号,在为编辑窗输出信号测试前,首先设定相关的仿真参数。
(4)设定仿真时间宽度。选择File项及其End time选项,在End time选择窗中选择适当的仿真时间域,以便有足够长的观察时间。
(5)波形文件存盘。选择File项及其Save as选项,按OK键即可。 (6)运行仿真器,观察分析波形。选中“processing”菜单下的“start siulation”,直到出现“simulation was successful”对话框。把所有的参数都设定好了之后,就可以观察相关的波形了。
- 13 -
- 14 -
4.2 硬件逻辑验证
(1)确认已经打开了工程scan_seg8。
(2)打开“assignments”菜单下的“pins”命令,打开引脚锁定窗口。 (3)用鼠标双击“to”栏中的“<
- 15 -