第一范文网 - 专业文章范例文档资料分享平台

数电实验 - 图文

来源:用户分享 时间:2025/6/2 15:17:15 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

4.控制模块

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;

entity controller is

port( reset : in std_logic; clk : in std_logic;

g_matrix0:out std_logic_vector(7 downto 0); g_matrix1:out std_logic_vector(7 downto 0); g_matrix2:out std_logic_vector(7 downto 0); g_matrix3:out std_logic_vector(7 downto 0); g_matrix4:out std_logic_vector(7 downto 0); g_matrix5:out std_logic_vector(7 downto 0); g_matrix6:out std_logic_vector(7 downto 0); g_matrix7:out std_logic_vector(7 downto 0);

r_matrix0:out std_logic_vector(7 downto 0); r_matrix1:out std_logic_vector(7 downto 0); r_matrix2:out std_logic_vector(7 downto 0); r_matrix3:out std_logic_vector(7 downto 0); r_matrix4:out std_logic_vector(7 downto 0); r_matrix5:out std_logic_vector(7 downto 0); r_matrix6:out std_logic_vector(7 downto 0); r_matrix7:out std_logic_vector(7 downto 0); to_display:out std_logic_vector(41 downto 0); message1: in std_logic_vector(7 downto 0) ); End controller ;

architecture one of controller is

type matrix_type IS array (7 downto 0) of std_logic_vector (7 downto 0); type yima IS array(9 downto 0) of std_logic_vector(6 downto 0); signal g_matrix : matrix_type; -----matrix ê??t??8*8êy×é£?D?o? signal r_matrix : matrix_type; -----matrix ê??t??8*8êy×é£?D?o? constant data :

yima:=(\,\,\,\,\,\,\,\,\,\);

constant goal: std_logic_vector(7 downto 0):=\; constant kong: std_logic_vector(7 downto 0):=\;

signal count: integer range 0 to 9:=0;

signal g_x: integer range 0 to 9:=5;

signal g_y: integer range 0 to 9:=2; --绿色队员横纵坐标 signal r_x: integer range 0 to 9:=5;

signal r_y: integer range 0 to 9:=2; --红色队员横纵坐标 signal b_x: integer range 0 to 9:=5;

signal b_y: integer range 0 to 9:=2; --足球横纵坐标

signal g_shi:integer range 0 to 9:=0; signal g_ge:integer range 0 to 9:=0; signal r_shi:integer range 0 to 9:=0; signal r_ge:integer range 0 to 9:=0; signal t_shi:integer range 0 to 9:=0; signal t_ge:integer range 0 to 9:=0;

signal display: std_logic_vector(41 downto 0); signal state: integer range 0 to 3:=0; --动作状态 --signal R_x: integer:=4; --signal R_y: integer:=7; signal start: std_logic:='0'; Begin

g_matrix0<=g_matrix(0); g_matrix1<=g_matrix(1); g_matrix2<=g_matrix(2); g_matrix3<=g_matrix(3); g_matrix4<=g_matrix(4); g_matrix5<=g_matrix(5);

g_matrix6<=g_matrix(6); g_matrix7<=g_matrix(7);

r_matrix0<=r_matrix(0); r_matrix1<=r_matrix(1); r_matrix2<=r_matrix(2); r_matrix3<=r_matrix(3); r_matrix4<=r_matrix(4); r_matrix5<=r_matrix(5); r_matrix6<=r_matrix(6); r_matrix7<=r_matrix(7); to_display<=display;

process (message1,reset,clk) -控制球员的前进进程

variable S:integer:=state; --variable g_y:integer; --variable r_x:integer; --variable r_y:integer; --variable b_x:integer; --variable b_y:integer; begin

S:=state; case reset IS when '0'=> g_x<=5;g_y<=2; r_x<=4;r_y<=7; b_x<=4;b_y<=4; g_shi<=0;r_shi<=0; g_ge<=0;r_ge<=0; state<=0;

when others=>

if(t_ge+t_shi=0) then

if((g_shi*10+g_ge) >(r_shi*10+r_ge) ) then

g_matrix(0)<=\; g_matrix(1)<=\; g_matrix(2)<=\; g_matrix(3)<=\; g_matrix(4)<=\; g_matrix(5)<=\; g_matrix(6)<=\; g_matrix(7)<=\;

r_matrix(0)<=\; r_matrix(0)<=\; r_matrix(0)<=\; r_matrix(0)<=\; r_matrix(0)<=\; r_matrix(0)<=\; r_matrix(0)<=\; r_matrix(0)<=\; else

if (g_shi*10+g_ge)=(r_shi*10+r_ge) then g_matrix(0)<=\; g_matrix(1)<=\; g_matrix(2)<=\; g_matrix(3)<=\; g_matrix(4)<=\; g_matrix(5)<=\; g_matrix(6)<=\; g_matrix(7)<=\;

r_matrix(0)<=\; r_matrix(0)<=\; r_matrix(0)<=\; r_matrix(0)<=\; r_matrix(0)<=\; r_matrix(0)<=\; r_matrix(0)<=\; r_matrix(0)<=\;

else r_matrix(0)<=\;

搜索更多关于: 数电实验 - 图文 的文档
数电实验 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2xope90f1v3j4le875p3_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top