有没有大神有vhdl电子中设计的语言,最好能加上备注的,有的话和我说一下,谢谢,还有1000财富值 100

有没有大神有vhdl电子中设计的语言,最好能加上备注的,有的话和我说一下,谢谢,还有1000财富值完了都送给你也可以... 有没有大神有vhdl电子中设计的语言,最好能加上备注的,有的话和我说一下,谢谢,还有1000财富值完了都送给你也可以 展开
 我来答
美人在心不在皮
2015-11-12 · 超过13用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:25万
展开全部
一、VHDL语言设计的基本单元及其构成
l         一个完整的VHDL语言程序通常包含实体(Entity)、构造体(Architecture)、配置(Configuration)、包集合(Package)和库(Library):
l         功能:
  实体  -—-  用于描述所设计的系统的外部接口信号;
构造体——  用于描述系统内部的结构和行为;
包集合——  存放各设计模块都能共享的数据类型、常数和子程序库;
配置  —— 用于从库中选取所需单元来组成系统设计的不同版本;
库    —— 存放已经编译的实体、构造体、包集合和配置。
l         基本组成:实体说明和构造体两部分
    实体说明(接口)
    构造体(实现)
1.  实体说明:
规定此实体输入与输出的数目与类型。
l         结构:
  entity 实体名 is
[generic(类属参数说明)];
[port(端口说明)];
end 实体名;
l         类属参数说明:
generic (
    常数名:数据类型 :=数值);
在端口说明前,用于指定参数。
l         端口说明:
    在entity语句的实体说明部分,常用port语句描述实体对外界连接的端口(数目、方向和数据类型)。
port (
  端口名:端口方向 端口数据类型;
  .
 .
 .
  端口名:端口方向 端口数据类型;
);
端口方向:
in (输入),只能读,用于:时钟输入、控制输入(装入、复位、使能)、单向数据输入;
out (输出),只能被赋值,用于不能反馈的输出;
inout(输入输出) ,既可读又可被赋值,被读的值是端口输入值而不是被赋值,作为双向端口。
buffer(缓冲),类似于输出,但可以读,读的值是被赋值,用做内部反馈用,不能作为双向端口使用。
l         例1):
entity  NAND2  is
  port(A,B: in  BIT;
      Z:   out   BIT);
end  NAND2;
l         例2):
--Define an entity (design) called COMP
  --that has 2 N-bit input and one output.
entity COMP is
  generic(N : INTEGER :=8 ) ; -- default is 8 bits
  port ( x, y :  in     BIT_VECTOR ( 0 to N-1);
       equal  : out     BOOLEAN );
end COMP;
2.  构造体
构造体定义实体功能的一种实现。
l         构造体的结构:
architecture  构造体名 of  实体名  is
 {块说明项}
begin
  {并发语句}
end 构造体名;
l         块说明项(或定义语句),位于architecture 和begin之间,对构造体内部的使用信号、常数、数据类型和函数进行说明,包括:
使用语句
子程序说明
子程序体
类型说明
子类型说明
常数说明
信号说明
元件说明
l         并行语句处于begin 与end之间,描述构造体的行为与连接关系。
l         构造体的描述方法:
      行为描述(按算法的路径来描述);
      数据流描述或RTL描述(采用寄存器传输描述);
      结构化描述(采用例化元件)
      例化(instantiation   ):在高层次的设计中调用低层次的实体作为元件的过程。
l         构造体的组织
l         例
entity COUNTER3 is
port( clk:    in bit;
      reset : in bit;
      count:  out integer range 0 to 7);
end COUNTER3;
 
architecture MY_ARCH of COUNTER3 is
signal count_tmp : integer range 0 to 7;
begin
  process
  begin
     wait until (clk'event and clk='1');
     if reset='1' or count_tmp =7 then
       count_tmp<=0;
     else
       count_tmp<=count_tmp + 1;
     end if;
  end process;
  count<=count_tmp;
更多追问追答
追问
别发了
追答
monics0;
l         编译通过后即可使用。
注:maxplus2在编译此package时,报告: "…does not contain an architecture body—stopping compilation",但此package 将被正确分析,并可成功地编译使用此package的其他设计。
l         用于其他使用此包集合的程序:
--由控制信号控制两个多路选择器
library ieee;
use ieee.std_logic_1164.all;
use work.mnemonics0.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
 
entity src_op is port(
   d,ad,bd,q:    in unsigned(3 downto 0);
   src_ctl:      in std_logic_vector(2 downto 0);
   r,s:          buffer  unsigned(3 downto 0));
end src_op;
architecture src_op of src_op is
begin
with src_ctl select
   r <=  ad      when aq | ab,
         "0000"  when zq | zb | za,
         d       when others;
with src_ctl select
   s <=  q      when aq | zq | dq,
         bd     when ab | zb ,
         ad     when za |da,
        "0000"  when others;
end src_op;
3.配置
描述层与层之间的连接关系以及实体与构造体之间的连接关系。在仿真时利用配置选择不同的构造体。
格式:
CONFIGURATION  配置名  OF  实体名  IS
FOR 构造体名
END FOR;
  END  配置名;
l         例
configuration MY_CONFIG of COUNTER3 is
   for MY_ARCH
   end for;
end MY_CONFIG;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式