1. 将大工程拆解为若干子程序;
  2. 编写子程序,分别仿真验证;
  3. 将子程序代码合并:①人为合并,将四个程序代码杂糅,创建新工程;②编写顶层代码,在顶层代码中调用子程序,归一使用。

顶层程序

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;entity sum is --定义实体port(i_sys_clk:in std_logic;i_sys_rst:in std_logic;o_lamp_display_val:out std_logic_vector(9 downto 0);o_guan_display_val:out std_logic_vector(6 downto 0));
end entity sum;architecture behave5 of sum is--定义行为--定义子部件component fenpinqi is --蜂鸣器声明generic(sys_clk_fre_value:INTEGER:=50000000;--系统时钟50MHzdiv_clk_fre_value:INTEGER:=12500000--4分频);port(i_sys_clk:in STD_LOGIC;--系统时钟i_sys_rst:in STD_LOGIC;--系统复位o_div_clk:out STD_LOGIC--系统输出);end component;component mod10counter is -- mod10声明generic(cnt_mod_value: integer:=10 --定义模值);port(i_lamp_clk:in std_logic;--时钟频率 1Hz时钟i_sys_rst:in std_logic;--复位o_lamp_val:out std_logic_vector(3 downto 0)--输出为4维向量);end component;component LEDcontrol is  -- LED声明port(i_lamp_val:in std_logic_vector(3 downto 0);i_sys_rst:in std_logic;o_lamp_display_val:out std_logic_vector(9 downto 0));end component;component shumaguan is  --数码管声明port(i_time_val:in std_logic_vector(3 downto 0);i_sys_rst:in std_logic;o_guan_display_val:out std_logic_vector(6 downto 0));end component;--定义中间变量signal w_sys_rst:std_logic;--寄存复位信号signal w_div_clk:std_logic;--寄存时钟信号signal w_lamp_val:std_logic_vector(3 downto 0);begin --定义管口map 端口映射U1:fenpinqi port map( --组块 端口传递i_sys_clk=>i_sys_clk, --分频器输入为系统时钟i_sys_rst=>w_sys_rst, --寄存的复位o_div_clk=>w_div_clk);  --输出U2:mod10counter port map(i_lamp_clk=>w_div_clk,i_sys_rst=>w_sys_rst,o_lamp_val=>w_lamp_val);U3:LEDcontrol port map(i_lamp_val=>w_lamp_val,i_sys_rst=>w_sys_rst,o_lamp_display_val=>o_lamp_display_val);U4:shumaguan port map(i_time_val=>w_lamp_val,i_sys_rst=>w_sys_rst,o_guan_display_val=>o_guan_display_val);end architecture behave5;

仿真波形

VHDL学习笔记——顶层程序编写相关推荐

  1. CUDA学习笔记之程序优化

    CUDA学习笔记之程序优化 标签: cuda优化conflict存储算法数学计算 2010-01-05 17:18 5035人阅读 评论(4) 收藏 举报 分类: CUDA(6) 版权声明:本文为博主 ...

  2. iQQ 学习笔记3 :编写代码打包Ant脚本

    iQQ 学习笔记声明 本文仅供学习研究使用,不得用于任何非法及侵权用途. 转贴请注明原发位置: http://xuekaiyuan.com/forum.php?mod=viewthread&t ...

  3. html 流程控制,HTML5独家分享:原生JS学习笔记2——程序流程控制

    当当当当 .....楼主又来了!新一期的js学习笔记2--程序流程控制更新了! 想一键获取全部js学习笔记的可以给楼主留言哦! js中的程序控制语句 常见的程序有三种执行结构: 1.顺序结构 2.分支 ...

  4. es6学习笔记-顶层对象_v1.0_byKL

    es6学习笔记-顶层对象_v1.0 (虽然是笔记,但是基本是抄了一次ruan大师的文章了) 顶层对象 顶层对象,在浏览器环境指的是window对象,在Node指的是global对象. ES5之中,顶层 ...

  5. [编译原理学习笔记2-2] 程序语言的语法描述

    [编译原理学习笔记2-2] 程序语言的语法描述 文章目录 [编译原理学习笔记2-2] 程序语言的语法描述 [2.3.1] 上下文无关文法 [2.3.2] 语法分析树与二义性 [2.3.3] 形式语言鸟 ...

  6. 编程开发学习笔记之程序员如何用1年时间获得3年成长(图)

    2019独角兽企业重金招聘Python工程师标准>>> 编程开发学习笔记之程序员如何用1年时间获得3年成长(图) 前言 这世界存在这么一个银行,你一出生,就自动享有这家银行为你开设的 ...

  7. 面向对象的编程思想写单片机程序——(3)学习笔记 之 程序分层、数据产生流程

    系列文章目录 面向对象的编程思想写单片机程序--(1)学习笔记 之 程序设计 面向对象的编程思想写单片机程序--(2)学习笔记 之 怎么抽象出结构体 面向对象的编程思想写单片机程序--(3)学习笔记 ...

  8. [电离层建模学习笔记]开源程序M_GIM学习记录

    [电离层建模学习笔记]开源程序M_GIM学习记录 文章目录 [电离层建模学习笔记]开源程序M_GIM学习记录 1. 程序相关信息 2. 程序学习记录 2.1 采用的数据说明 2.2 程序运行前 2.3 ...

  9. ROS学习笔记三:编写第一个ROS节点程序

    在编写第一个ROS节点程序之前需要创建工作空间(workspace)和功能包(package). 一.创建工作空间(workspace) 创建一个catkin_ws: #注意:如果使用sudo一次性创 ...

最新文章

  1. 裸设备 linux,Linux平台下裸设备的绑定:
  2. Stimulsoft Reports.Net基础教程(十):创建图表报表②
  3. Machine Learning week 6 quiz: Machine Learning System Design
  4. jQuery的ajax()、post()方法提交数组,参数[] 问题
  5. 召回离线评估指标(二)
  6. R - 变化plot字形,嵌入字体以pdf
  7. Django配置文件常用信息
  8. ASP.NET20 自定义配置节学习笔记(一)
  9. C语言的面向对象设计之 X264,FFMPEG 架构探讨
  10. 2018 CISSP考试一路走来
  11. 程序设计课程设计——学生学籍管理系统
  12. Java8中计算时间的四种方式及区别Period、Duration、ChronoUnit、Until 时间区间Duration的简单使用
  13. [现代控制理论]7_线性控制器设计_Linear Controller Design
  14. 荒野乱斗好友系统分析
  15. 一段集大成的thymeleaf代码
  16. windows11搜索按钮回退
  17. 三角函数有理式的不定积分
  18. 焱融看|混合云环境下,如何实现数据湖最优存储解决方案
  19. scapy python_Python中使用Scapy小记
  20. win7系统屏蔽全/半角切换问题

热门文章

  1. 用好了下一代文件系统 Btrfs 这些新特性,从此数据安全乐无忧!
  2. Django 模板继承csrfToken原理
  3. MATLAB数组的左右移动
  4. 移动信号最好的服务器,三大运营商哪家的“信号”最好?真实体验分析
  5. 真实地址查询——DNS
  6. python爬虫崔庆才_崔庆才老师爬虫原理讲解笔记
  7. 更新日志_面向2021:知客CRM2020年更新日志
  8. Ubuntu局域网远程控制
  9. 用一个像素攻陷神经网络
  10. 2021云栖大会落幕,行云创新荣获“阿里云云原生核心伙伴”授牌