EDA实验LCD滚动显示学号代码

根据给定的信息,我们可以分析并总结出以下关于“EDA实验LCD滚动显示学号代码”的相关知识点: ### 一、EDA技术简介 EDA(Electronic Design Automation)即电子设计自动化,是利用计算机软件完成电子产品的设计与验证。EDA工具可以帮助工程师进行硬件描述语言(HDL)编程、逻辑综合、布局布线、功能验证等设计流程。 ### 二、LCD滚动显示学号代码解析 #### 1. 实体定义 ```vhdl entity coois is port ( clk : in std_logic; clr : in std_logic; busy : in std_logic; req : out std_logic; cout : out std_logic; dou : out std_logic_vector(7 downto 0) ); end coois; ``` - **实体名称**:`coois`。 - **端口说明**: - `clk`:时钟输入信号。 - `clr`:清零信号输入。 - `busy`:忙碌状态输入。 - `req`:请求信号输出。 - `cout`:计数输出。 - `dou`:数据输出信号。 #### 2. 结构体定义 ```vhdl architecture Behavioral of coois is signal DOUT : STD_LOGIC_VECTOR(7 DOWNTO 0); signal q1 : std_logic_vector(20 downto 0); signal C1, C2, OE : STD_LOGIC; signal COU : integer range 0 to 51; begin ``` - **信号定义**: - `DOUT`:内部数据输出。 - `q1`:计数器。 - `C1`, `C2`, `OE`:控制信号。 - `COU`:计数器。 #### 3. 进程分析 - **进程1**: ```vhdl process (CLK) begin if rising_edge(clk) then Q1 <= Q1 + 1; end if; end process; ``` - **功能**:在时钟上升沿时,`q1`加1。 - **进程2**: ```vhdl process (BUSY, C1, CLK) begin if rising_edge(clk) then COUT <= BUSY; end if; if rising_edge(clk) then if (BUSY = '0') then REQ <= '1'; else REQ <= '0'; end if; end if; if rising_edge(clk) then if (BUSY = '0') then OE <= '1'; else OE <= '0'; end if; end if; end process; ``` - **功能**: - 在时钟上升沿时,`cout`等于`busy`。 - 根据`busy`的状态更新`req`。 - 根据`busy`的状态更新`oe`。 - **进程3**: ```vhdl process (CLK) begin if CLK'event and CLK = '0' then if (OE = '1') then DOU <= DOUT; end if; end if; end process; ``` - **功能**:在时钟下降沿且`oe`为高电平时,将`DOUT`赋值给`dou`。 - **进程4**: ```vhdl PROCESS (BUSY) BEGIN IF (BUSY'EVENT AND BUSY = '0') THEN COU <= COU + 1; END IF; CASE COU IS WHEN 00 => DOUT <= "11111100"; WHEN 01 => DOUT <= "00000111"; ... WHEN 51 => DOUT <= "11111100"; END CASE; END PROCESS; ``` - **功能**:当`busy`从高变低时,`COU`加1,并根据`COU`的值更新`DOUT`。`COU`每增加一次,`DOUT`的值变化,实现滚动显示效果。 ### 三、总结 此EDA实验主要实现了通过VHDL语言编写一个程序来控制LCD显示屏滚动显示学号的功能。具体实现方式是通过计数器和控制信号配合,在特定条件下改变输出信号`dou`的值,进而实现数字的滚动显示。这个过程涉及到对时序逻辑的精确控制以及信号的同步处理,对于学习EDA技术和VHDL编程具有很好的实践意义。





















port(
clk : in std_logic;
clr : in std_logic;
busy : in std_logic;
req : out std_logic;
cout : out std_logic;
dou : out std_logic_vector(7 downto 0));
end coo;
architecture Behavioral of coo is
signal DOUT : STD_LOGIC_VECTOR(7 DOWNTO 0);
signal q1 : std_logic_vector(20 downto 0);
signal C1,C2,OE : STD_LOGIC;
signal COU : integer range 0 to 51;
begin
process(CLK)
begin
if rising_edge(clk) then
Q1 <= Q1 + 1;
end if;
end process;
C1 <= Q1(3);
process(BUSY,C1,CLK)
begin
if rising_edge(clk) then
COUT <= BUSY;
if (BUSY = '0') then

- u0109328062013-06-03发的程序不错,可惜不是我们学的

- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 揭秘 AI 大模型提示词攻击工具:原理、类型与实战应用 AI 大模型提示词攻击工具大盘点:功能、效果与使用指南 深度解析:AI 大模型提示词攻击工具的运作机制与安全威胁 一文读懂 AI 大模型提示词攻
- 计算机信息管理技术在网络安全中的应用分析.docx
- 摄影网站的设计与实现.doc
- 现场总线技术在电厂自动化控制中的作用.docx
- Web实验中心管理.doc
- 综合布线国产化及关键技术的研究.docx
- 基于信息化高中特色校本课程开发与管理的研究.doc
- 计算机组成原理教学模式改革研究.docx
- ARMGPS定位信息显示器软件设计方案.doc
- 项目管理的三大控制要素及其相互关系探讨.docx
- 通信工程师z中级考试终端与业务—(简答、论述).doc
- 机械制造自动化术.doc
- 中小学教师计算机技术水平考核试卷全套.doc
- 基于大数据的档案信息安全管理.docx
- 计算机网络(自顶向下)复习.doc
- 模具CADCAM应用技术单元设计98.doc


