VDHL之基于层次化设计的数字钟(一)【原创】

硬件描述语言:Verilog和VHDL的区别 本文将从多个方面详细对比Verilog和VHDL这两种硬件描述语言(HDL),包括语法、设计哲学、应用场景、工具支持等,以帮助你全面理解它们的区别。以下内容将尽量简洁但全面,涵盖关键点,并以清晰的结构组织。 阅读详情

首先,要声明一下,这个设计的代码完全是自己在设计这个数字钟的时候一步一步摸索出来的,只是参考了一下相关资料,别人的代码我我一行也没有看过用过。由于时间仓促再加上自己水平有限,就有没有对代码进行优化了,只是完成了相关内容功能就不了了事。不过,这个设计实验的确让我学到很多东西,比如说,很多东西在软件编程上是可行的,当在EDA设计中是不行的。废话就不说了,下面我会一步一步的讲述我是如何设计他们的,可能要连载好几个哦。

  这次设计的主要特点是使用了层次化设计,第一次接触,蛮有趣的,但同时也遇到过让人烦心的问题。不过回头过去还是学到蛮多东西的,希望大家也能学到点东西吧。
功能明确一下:
  要用FPGA/CPLD设计一个数字钟,要求这个数字钟能够在整点的时候演奏乐曲,同时启动led灯花样。
   数字钟当然要计数啦,就是每一秒钟计数一次。还有两个额外的功能:第一个能够设置时间,第二个能够设置闹钟。
  选中这两个功能时,被选中为一闪一闪,有按键可以实现移位,和加减。
 功能就上面那些,看起来很少,弄起来心烦啊!
这次使用的软件是:Quartus II
好了,废话讲完了,接下面来干点东西吧。
首先我们想一想究竟要用什么方法去实现他们呢,很显然我们可以借助C语言的模块化设计的思想也对这个设计进行功能模块区分。
下面是我的分法,大家也可以有不同的分法:
1,首先我在想这个系统一定需要不同的时钟吧,但实际我们可能只能获取一个很高频的时钟,为了满足各模块对时钟的要求
    这里是不是需要一个分频的模块呢,对,就是要一块专门负责把输入时钟变成我们需要的时钟的这样一个功能模块。
2,我们可以把负责发出音乐的功能当做一个模块。
3,同样,我们也可以把实现Led花样功能当做一个模块。
4,还想一下,系统设计到按键了,这鬼东西最讨厌了,为什么?因为要去抖啊!所以我们需要一个具有按键去抖功能的模块。
5,去抖完了,想一下,发现最重要的功能没有实现,原来还有有一个时间计数模块。
6,按键是不是可以集中在一起组成一个专门控制的电路呢,对的,我就是这么干的。
7,还用,是不是可以把数码管显示独立开来作为一个功能模块。
晕死了,分这么多模块啊,想弄死我啊?呵呵,我觉得分模块的好处就是易于设计,修改,调试。
总结一下:
今天我们把系统功能分成了几部分:
给他们分别起个名字吧:
1,diviver (负责时钟控制的)
2,musicplay(音乐播放)
3,ledmove(led灯花样播放)
4,keyin(按键去抖)
5,dispaytimer(时钟功能)
6,control(控制功能)
7,shuma(数码管显示功能)
这些模块会在以他们名字加后缀.vhd的文件中实现他们的功能。如:以后会在diviver.vhd 实现时钟控制的功能;
下面是我最终设计出来的模块图:

图片
今天就先到这里吧,以后会分别讲述每一部分功能的实现,然后再把它们合起来。

掌握VHDL的十个基础实例 实体是VHDL设计的起点,它定义了模块的接口信号和行为。结构体则用于详细描述实体内部的逻辑结构,使得设计者能够将复杂的功能分解成更小、更容易管理的组件。在本章节中,我们将深入探讨实体和结构体的概念、定义和它们在VHDL设计中的应用。接口信号是实体与外部环境交互的途径。端口声明中的模式(inoutinoutbufferlinkage)指明了信号的流向和性质。例如,in表示输入信号,out表示输出信号。在定义端口时,还需要指定端口的数据类型。在VHDL中,最常用的数据类型是。 阅读详情

相关推荐

基于VDHL设计数字时钟

是课程设计的最好选择,要求合格!!希望这个对广大的课程设计的同学有很大的帮助!!

什么是VHDL?一文带你了解VHDL语言

基于FPGA的SOC在嵌入式系统应用越来越广了,比较流行的硬件描述语言有两种Verilog HDL/VHDL,均为IEEE标准。VHDL如果有C语言基础的话就会比较容易上手。而VHDL语言则需要Ada编程基础。另外VHDL语言具有大量成熟的模块,从某种角度说VHDL更具生命力。

coachip的博客 1万+

FPGA实现的数字时钟

经过一段时间的学习,自己写的FPGA实现的数字时钟,已经验证过了

VHDL入门基础

一、VHDL语言的基本语法 D触发器的VHDL实现 1、VHDL语言的表示符 2、VHDL的数字 2.1 数字型文字 156E2的意思是156 × \times × 1 0 2 10^2 102; 下划线可以连接数字。 2.2 数字基数表示的文字 2.3 字符串型文字 2.4 下标名及下标段名 downto 和 to 有什么区别 举个例子,比如要生命一个长度位8的vector的信号 Signal s1: std_logic_v...

yh13572438258的博客 2万+

VDHL出租车计费器设计

基于VHDL的出租车计费器实现,代码解释详细,课程设计通过

当我们谈论Unidbg时我们在谈什么

文章目录一、前言二、使用Unidbg的工作量是什么三、补环境补的是什么3.1 运行环境缺失3.2 上下文缺失四、Unidbg 不是所有情况下最优的解决方案五、Unidbg在大多数情况下是好的方案六、Unidbg和风控无关七、尾声 一、前言 这是一篇漫谈Unidbg的文章,我对Unidbg的使用和理解都还很浅,日后会更新或修改看法,欢迎大佬指点,也期待同侪讨论。 二、使用Unidbg的工作量是什么 我们常规使用Frida + IDA的动静态分析中,工作可能是这样的 找线索→Frida Hook验证→验证成功继

lilac的博客 5788

VHDL语言基础-概述

VHDL语言基础-概述-什么是VHDL

vizio.blog.youkuaiyun.com 3956

嵌入式系统(一):鸿蒙系统

本文为期末复习笔记,内容仅供参考???? 鸿蒙系统是一款面向万物互联时代的、全新的分布式操作系统 鸿蒙提出了基于同一套系统能力、适配多种终端形态的分布式理念 提供全场景(移动办公、运动健康、社交通信、指挥出行、媒体娱乐等)业务能力 华为是OpenHarmony开源项目的共建者、也是共享者之一 鸿蒙技术特性 分布式设计 一次开发,多端部署 系统与硬件解耦,弹性部署 三大分布式能力 分布式软总线 设备间互联互通提供分布式通信能力 从手动发现,进化成自发现 传输高带宽关键技术-极简协议 分布式数据管

weixin_45608532的博客 4308

VHDL语法学习

一、VHDL语言程序的基本结构 完整的VHDL语言程序包含实体(Entity)、构造体(Architercture)、配置(Configuration)、包集合(Package)和库(Library)五部分。其中,实体是用来描述设计系统的外部接口;构造体用于描述系统内部的结构和行为;包集合存放共享的数据类型、常数和子程序等;配置用于从库中选取所需单元来组成系统设计的不同版本;库存放已经编译的实体、构造体、包集合和配置。 1.1 实体 实体 .................................

qq_43425438的博客 1万+

雷赛控制卡全方位使用指南:从硬件连接到高级应用

雷赛控制卡以其接口简单、编程便捷、性价比高的特点,成为中小自动化设备的理想选择。使用时需注意:硬件连接需注重抗干扰设计(屏蔽线、接地);软件开发需合理配置运动参数(脉冲当量、加减速);调试阶段需充分利用 DMCStudio 工具验证性能。通过本文介绍的方法,可快速实现从硬件搭建到复杂运动控制的全流程开发,满足雕刻、切割、装配等多场景的自动化需求。

品质生活,极致编程。 3775

UE游戏引擎材质简单入门

什么是物体的材质,材质属性定义了物体的某些特性,从而决定了物体表面是如何与光线相作用的。UE中物理基础渲染(Physically Based Rendering OR PBR)几乎可以让我们模拟显示世界中的任何材质。那么如何在UE中制作出真实的PBR材质,基于我们提供的游戏引擎插件,如何将这些材质资源导出,并应用到 SuperMap iClient3D for Cesium/WebGL 平台上,提升模型的显示效果呢,下面小编将详细讲解一下。

m0_71055362的博客 2511

VHDL

VHDL程序结构 VHDL五大元素 -Entity *Block的I/O port规格 -Architecture *Block的内部电路 *可同时具有多个 -Configuration *决定哪一个architecture被使用 -Package -Lib 第一要素实体: 实体描述了模块的内部接口和外部接口的相关参数 在VHDL中实体描述的结构: entity 实

liuke 4395

SAP-ABAP:ABAP 开发基础概念入门:写给刚踏入 SAP 开发世界的新人

本文介绍了 ABAP 开发语言的基础概念,帮助 SAP 开发新人快速入门。主要内容包括: ABAP 的发展历程与核心优势 - 作为 SAP 平台的专属语言,ABAP 在企业级应用开发中具有深度集成、数据处理高效和长期稳定的特点 ABAP 开发环境概览 - 介绍了 SE38、SE80 等关键事务码,以及 ABAP 工作台的核心组件和开发权限管理 基础语法入门 - 重点讲解了 ABAP 特有的数据类型体系(特别是结构体和内表),并通过 Hello World 示例展示程序基本结构 文章通过对比 ABAP 与 J

baidu_35680696的博客 511

VHDL语言入门

和Verilog HDL是目前主流的两种硬件描述语言(Hard Description Language)。本文主要介绍VHDL,使用Quartus II 13.1.

XiaoMingAXX的博客 3525

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的远距离停车位检测系统(深度学习代码+UI界面+训练数据集)

本文详细介绍了基于YOLOv5/YOLOv6/YOLOv7/YOLOv8深度学习模型的远距离停车位检测系统的完整实现方案。该系统能够准确识别200米范围内的停车位状态,为智能停车场管理系统、自动驾驶车辆提供关键的视觉感知能力。文章涵盖算法原理、数据集构建、模型训练、系统实现及优化策略,并提供完整的代码实现和UI界面设计。关键词:YOLO系列,深度学习,停车位检测,计算机视觉,智能交通系统pythonimport cv2import os"""创建数据存储目录""""""定时采集图像"""

YOLO 186

STM32实战开发(128):智能位移检测 - 使用STM32实现位移检测

STM32作为一款功能强大的微控制器,由于其出色的处理能力、丰富的外设接口和低功耗特点,成为实现智能位移检测系统的理想选择。未来,可以通过结合更多传感器、多种数据处理算法以及云平台技术,进一步提升系统的智能化水平,优化位移测量的精度和稳定性。本篇博客将介绍如何使用STM32微控制器实现智能位移检测系统,涉及硬件设计、传感器选择、软件开发等多个方面,提供详细的设计步骤,并给出完整的代码示例,帮助开发者快速搭建智能位移检测系统。蜂鸣器连接到STM32的GPIO端口,当位移超过设定的阈值时,蜂鸣器发出警报。

2201_76125393的博客 901

FPGA入门必修课,学习VHDL语言

HDL(Hardware Description Language)是复杂数字电路实际设计的一种必要手段,通过语言的形式把我们心中的电路描述出来,同时配套相应的翻译工具,就是我们的综合工具,把语言描述的电路综合为真实门级电路,通过网表文件记录。主流的硬件描述语言有A-HDL,V-HDL,Verilog-hdl。

dpwkj的博客 1049

世界职业院校技能大赛—人工智能赛道项目逐字稿参考十二

世界职业院校技能大赛—人工智能赛道项目逐字稿参考十二

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 146

VHDL基本点精解

VHDL基本点【精解】 - 刑事组之虎9527 - 博客园 VHDL描述硬件实体 结构 举例 Entity()实体 Enitiy 实体名 is PORT(端口名1,端口名N:方向:类型) [端口说明] End Entity; Port的方向有: IN , OUT, INOUT, BUFFER, LINKAGE In 信号只能被引用,不能被赋值;不可以出现在<= 或 : = 的左边 out 信号只能被赋值,不能被引用...

yh13572438258的博客 8960

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

VHDL——学习开篇1(入门体验与顺序执行)

文章目录0、背景1、VHDL入门体验1.1 2选1选择器1.2 锁存器的设计1.3 总结与注释2、VHDL顺序执行2.1 赋值语句2.2 流程控制语句2.21 if语句 0、背景 明明已经掌握了verilog HDL,为什么还要掌握VHDL呢。因为,你如果不掌握VHDL,意味着,你将要丢失很多资料,不少书籍,不少资料还是用VHDL实现的,包括国外的数字信号处理。在开启这个VHDL文档之前,我其实在...

ciscomonkey的博客 2万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

VDHL基础知识

VHDL基础知识

m0_73084903的博客 445

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

VHDL语言的概述(诞生与发展)

一个完整的VHDL语言程序通常包含实体(Entity)、构造体(Architecture)、配置(Configuration)、包集合(Package)和库(Library)5个部分。 VHDL的诞生与发展。

改改的博客 1652

VHDL基础

目录 一、运算符 1.算数运算符 2.关系运算符 3.逻辑运算符 4.赋值运算符 5.关联运算符 6.其他运算符 7.运算符优先级 二、VHDL的基本结构 一、运算符 1.算数运算符 +,-,*,/ MOD: 取模,取模运算(a MOD b)的符号与b相同,其绝对值小于b的绝对值。如:-5 MOD 2 = 1,5 MOD -2 = -1。 REM: 取余,取余运算...

weixin_43864459的博客 1万+

VHDL入门学习

一、VHDL优点:覆盖面广,系统硬件描述能力强,是一个多层次的硬件描述语言; VHDL语言具有良好的可读性,既可以被计算机接受,也容易被人们所理解; VHDL语言可以与工艺无关编程; VHDL语言已做为一种IEEE的工业标准,便于使用、交流和推广。VHDL的不足之处:设计的最终实现取决于针对目标器件的编程器,工具的不同会导致综合质量不一样。二、VHDL语言基础1、标识符 首字符必须是字母...

山鬼谣弋痕夕的博客 5675

VHDL快速入门

写在前面 VHDL是一门硬件语言,没学过硬件语言,挺感兴趣,还可以用在计组的实验中,花了点时间学习整理了一下VHDL的基本语法,方便查看。本blog所用到的所有图片都引用自 VHDL语言的基本语法参考文档 一、VHDL语言的基本语法 1、VHDL语言的表示符 2、VHDL的数字 2.1 数字型文字 156E2的意思是156×\times×10210^2102; 下划线可以连接数字。 2.2 数字基数表示的文字 2.3 字符串型文字 2.4 下标名及下标段名 二、VHDL语言的数据对象 .

messyking的博客 6万+

VHDL,Verilog学习与对比 (1)

1.进程语句本身是并行语句,但其内部为顺序语句。 2.VHDL不区分大小写,Verilog区分大小写。 3.参数规范:普通内部信号全部小写,参数定义大写。 4. 寄存器类型:表示一个抽象的数据存储单元,它只能在always语句和initial语句中被赋值。如果该过程语句描述的是时序逻辑,即always语句带有时钟信号,则该寄存器变量对应为寄存器;如果该过程语句描述的是组合逻辑,即always...

Yuhaifei2016的博客 4725
上一篇: 【算法】分治算法
下一篇: VHDL之基于层次化设计的数字钟(二)【原创】
iamsheldon
博客等级 码龄17年 198粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值