精华内容
下载资源
问答
  • This means that a VHDL entity is in the library when the Verilog is compiled, but not the other way round. Thus, designs where a VHDL toplevel instantiates Verilog modules cannot be compiled with ...
  • The parser seems generally to work, however it does not handle any VHDL architecture content. For example, the file 'mux.vhd' that is provided as test example is turned into the structure ...
  • <div><p>Looking at the code, it appears that VHDL type declarations are not being parsed. <p><a href="url">...
  • This is not high priority by any means but I think it would be appropriate to either match or update your regex.</p><p>该提问来源于开源项目:reds-heig/logisim-evolution</p></div>
  • len(in1)</code> throws (VHDL-1278) type unsigned does not match with the integer literal</code> and it can be hackfixed by <code>out1.next = len(in1) + 0</code>.</p><p>该提问来源于开源项目&#...
  • <div><p>Pretty much every VHDL file will have "library IEEE;" near the beginning, but I get an error that conversion to a Python object isn't implemented. <p><a href=...
  • <p>Converting the attached code to VHDL causes an error: No separate else clause found I was unable to achieve the desired behavior with other types of notation (e.g. always_seq). It is unfeasible to ...
  • <div><p>The following code : ...<p>This is not correct. The falling edge on s is omitted. Conversion to verilog seems to be ok.</p><p>该提问来源于开源项目:myhdl/myhdl</p></div>
  • If a constant value is given as an argument that is then assigned to a signal in an enclosed process, conversion to VHDL will generate a VHDL constant for that variable. If this function is recursive,...
  • C:/temp/bla2.vhdl:65: warning: Internal inconsistency: scope for class bla2::rtl not found! <p><strong>PROBLEM</strong> : In case 2 the bla2 entity and architecture is not generated correctly and ...
  • <div><p>I expect this ticket to be a site of discussion. I assume more specific issues will ...m not sure how you would like it approached.</p><p>该提问来源于开源项目:Nic30/hdlConvertor</p></div>
  • signal is not there! <pre><code>architecture MyHDL of RAM is begin </code></pre> <p>The example in the manual showed this as the expected output: <pre><code>architecture MyHDL of ram is type t_...
  • vhdl timing requirements not met Assignment/timing wiard tool 中设置in的时钟周期等属性即可。 设置好了自己需要的参数,一直下一步下一步即可。

    vhdl timing requirements not met

    Assignment/timing wiard tool 中设置in的时钟周期等属性即可。
    timing wiard tool
    在这里插入图片描述
    设置好了自己需要的参数,一直下一步下一步即可。

    展开全文
  • VHDL

    2018-10-30 00:47:02
    标记 标识符:有26个字母与...正确: CLK NOT1_Q 错误 :3DA DB-A DB_ 保留字:不能做标识符 如:and in entity port process… 界符:语句以 ; 结束;注释用 - ;信号赋值用&amp;amp;amp;amp;lt;= ; 变...

    标记

    1. 标识符:有26个字母与数字以及下划线 _ 组成
      注:必须以字母打头;不能有两个连续的 _ ;最后一个字符不能是下划线;字母不区分大小写;最长32个字符
      如:
      正确: CLK NOT1_Q 错误 :3DA DB-A DB_
    2. 保留字:不能做标识符
      如:and in entity port process…
    3. 界符:语句以 ; 结束;注释用 - ;信号赋值用<= ; 变量赋值用 :=
    4. 注释符:-- 为便于理解和阅读程序而加的说明,以双减号开头,到行尾结束

    数据类型

    STANDARD库 标准库

    1. 整数(INTEGRATED)
    2. 实数(REAL)
    3. 位(BIT):“0”或“1”,可进行算术和逻辑运算;单引号
    4. 位向量(BIT_VECTOR):用“ ” ;位宽;排列顺序;双引号
      如:SIGNAL A :BIT_VECTOR(3 DOWN TO 0);A<=“1110”,A3=1,A2=1,A1=1,A0=0
    5. 布尔(BOOLEAN):TRUE和FALSE
    6. 字符(CHARACTOR):用 ’ ’ ,区分大小写
    7. 字符串(STRING):用“ ”
    8. 时间:fs,ns,ms,sec,min,hr 整数与单位之间至少留一空格位 2 ns

    IEEE库

    1. STD_LOGIC:共九种值 ‘U’ , ‘X’ , ‘0’ , ‘1’ , ‘Z’ , ‘W’ , ‘L’ , ‘H’ , ‘-’
    2. STD_LOGIC_VECTOR:" " , 位宽 ,排列顺序
    3. 无符号(UNSIGNED):由STD_LOGIC数据类型构成的一维数组,数据可执行算术运算和逻辑运算
    4. 有符号(SIGNED):无逻辑运算;最高表示符号:0-正;1-负,补码表示
    5. 用户自定义
      TYPE 数据类型 名称 IS 数据类型 RANGE 数据范围 ;
      例:TYPE DATA IS INTEGER RANGE 0 TO 8
      TYPE 数据类型 名称 IS (取值1,取值2,…);
      例:TYPE STATE M IS (stat0,stat1 ,stat2,stat3);
    6. 数组:由多个相同类型的数据元素组成一个新的数据类型

    运算符

    1. 逻辑运算符:AND与, OR或, NAND, NOR, XOR异或, NXOR同或,NOT
    2. 关系运算符:=,/=,<,>,<=,>=
    3. 移位运算符:SLL, SLA, SRL , SRA ,ROL, ROR
    4. 符号运算符:+,-
    5. 连接运算符:&
    6. 算术运算符:+,-,*,/,MOD,REN,**,ABS
      注:
      运算按位进行,要求操作数:类型相同、位宽相同、运算结果的数据类型与操作数的数据类型相同
      若同时有多个不同的运算符,要用括号对运算分组
      运算符有优先级排序:NOT优先级最高,依次:算术运算符(最高)>逻辑运算符(最低)

    数据对象

    常数

    1. 语句格式: CONSTANT 常数名称 : 数据类型 := 表达式
      如:CONSTANT A : INTEGER := 6 ;
    2. 赋值符为“ := ”;
      常数赋值后不能再改变;
      常数的使用范围和它在程序中的位置有关;
      实体/结构体/PROCESS语句
      常数所赋值的数据类型必须与定义的数据类型一致;

    变量

    1. 语句格式: VARIABLE 变量名称: 数据类型 := 初值
      如: VARIABLE temp : INTEGER := 0 ;
    2. 变量–局部量,只能在进程子程序中定义和使用(在实体里定义的是全局量);
      变量的赋值语句是顺序执行语句(变量名称 := 表达式)(因为进程里是 顺序执行的);
      变量赋值没有时间延迟,实时变化,立即发生;
      变量不能放在进程的敏感信号表中;
      变量所赋值的数据类型必须与定义的数据类型一致;
      变量因先定义,后赋值,在定义时可赋初值;

    信号

    1. 语句格式:
      信号名称 :数据类型 (在ENTITY实体PORT里的端口信号)
      SIGNAL 信号名称 :数据类型:=初值 (是一般在ARCHITECTURE结构体中的内部信号)SIGNAL 信号名称 :数据类型:=初值 (是一般在ARCHITECTURE结构体中的内部信号)(也是内部信号的定义格式)

    2. 信号分为,外部信号和内部信号,内部信号赋值(在PROCESS里)前需定义(在ARCHITECTURE结构体下),外部信号无需定义,直接使用;
      信号不能在进程中定义,但能在进程中赋值,也能在进程外赋值看;
      信号赋值语句: 信号名称 <= 表达式
      信号在进程外的赋值是并行的,但在PROCESS中的赋值是顺序的,只有进程被激活后(进程结束时),信号才被赋新值;
      信号 所赋值的数据类型必须与定义的数据类型一致;

    在进程中,允许对同一个信号多次赋值,只有最后一次赋值是有效的;而变量则立即赋值
    例1:
    Process(a,b,c,d)
    Begin
    d<=a;
    x<=b+d;
    d<=c;
    y<=b+d;
    End Process;
    执行结果:
    x<=b+c;
    y<=b+c;
    例2:
    Process(a,b,c,d)
    Begin
    d<=a;
    x<=b+d;
    d<=c;
    y<=b+d;
    End Process;
    执行结果:
    x<=b+a;
    y<=b+c;
    **信号与变量
    信号与变量的区别

    信号(SIGNAL) 变量(VARIABLE)
    使用范围为实体,结构体,程序包 只能在进程或子程序中使用
    可用于模块间交换数据 只能在进程或子程序中局部使用
    有独立硬件对应物:连接线 无硬件对应物
    可在进程的敏感信号表,以激活进程 不能写进进程的敏感信号表
    信号赋值符 <= 变量赋值符 :=
    信号赋值存在延迟 变量赋值立即生效
    信号进程结束时起作用 在进程中,变量赋值立即生效
    展开全文
  • modelsim进行VHDL仿真时问题“** is not globally static” 在使用modelsim进行VHDL仿真时遇到编译错误:“** is not globally static”。如下图所示: 解决办法: 1、选中该文件右击,选择->properties。在弹出...

    modelsim进行VHDL仿真时问题“** is not globally static”
    在使用modelsim进行VHDL仿真时遇到编译错误:“** is not globally static”。如下图所示:
    在这里插入图片描述
    解决办法:
    1、选中该文件右击,选择->properties。在弹出的页面点击 VHDL。出现如下图所示
    在这里插入图片描述
    2、将红色方框中,原来选择的“Use 1076-2002”,改为选择“Use 1076-2008”。如下图所示。
    在这里插入图片描述
    3、点击OK。重新编译即可。

    展开全文
  • VHDL笔记

    千次阅读 2011-12-14 17:49:37
    VHDL的运算符号   ...算术>关系>逻辑,NOT的优先级别最高;   赋值运算符 :=变量赋值:将右端值赋给左端变量;或用于赋初始值; =>数组内部分元素赋值;   逻辑运算符 AND(与)、OR(或)
     
    

    VHDL的运算符号

     

    VHDL中主要有六类运算符号:

    赋值运算、逻辑运算、算术运算、关系运算、连接运算、移位运算;

    双目运算时,两个运算量必须类型相同;

    VHDL中运算没有左右优先级差别;

    算术>关系>逻辑,NOT的优先级别最高;

     

    赋值运算符

    <=信号赋值:将右端值赋给左端信号;

    :=变量赋值:将右端值赋给左端变量;或用于赋初始值;

    =>数组内部分元素赋值;

     

    逻辑运算符

    AND(与)、OR(或)、NAND(与非)、NOR(或非)、XOR(异或)、XNOR(同或)

    和NOT(取反);

    适用类型:

    STD_LOGIC、STD_LOGIC_VECTOR

    BIT、BIT_VECTOR、BOOLEAN;

    算术运算:

    /(除)、*(乘)、+(加)、-(减)

    MOD(求模)、REM(取余)、**(指数)、ABS(绝对值);

    适用类型:

    INTEGER、REAL、BIT、BIT_VECTOR、TIME;

     

    关系运算:

    =>(大于等于)、<=(小于等于)

    >(大于)、<(小于)、/=(不等于)、= (等于);

    关系运算的结果为boolean类型:false、True;

    注意:

    小于等于符号与信号赋值符号的写法相同,应注意使用位置和意义;

     

    连接运算:&

    适用类型:

    bit、bit_vector(位矢量数据类型)、character、string

    std_logic(标准位类型)、std_logic_vector(标准逻辑矢量数据类型)

     

    VHDL中库的主要种类:

    IEEE库、STD库、ASIC库、

    work库、用户定义库;

     

    库说明语句格式

    Library 库名;

    use 库名.包集合名.范围(或项目名);

    例:

    IEEE库:

    library ieee;

    use ieee.std_logic_1164.all;使用标准逻辑量的定义和运算;

    use ieee.std_logic_unsigned.all;无符号数算术运算的定义;

    use ieee.std_logic_arith.all;使用符号数算术运算的定义;

    STD库:

    ASIC库:

    library altera;

    use altera.maxplus2.all;

    library lpm;

    use lpm.lpm_components.all;

    WORK库:

    use work.all;

     

    package包集合

    数字电路设计中经常使用的包集合:

    ieee.std_logic_1164 逻辑量的定义

    ieee.std_logic_arith 数据转换,逻辑判断

    ieee.std_logic_unsigned 算术运算

    std.textio 文本数据输入/输出格式

     

    包的结构与定义:(用户自定义的包集合)

    package 包集合名 is

    说明语句;(只有名称)

    end 包集合名;

    包集合体:

    package body包集合名 is

    说明语句;(完整定义)

    end 包集合名;

    调用:use work.包集合名.all;

    configuration 配置

    configuration 配置名 of 实体名 is

    for 选择的构造体名

    end for;

    end 配置名;

     

    含有完整程序结构(包含实体和结构体)的VHDL表述称为设计实体;其程序代码常被称为VHDL的RTL描述;

    ENTITY、IS、PORT和END ENTITY都是描述实体的关键词,关键词不分大写和小写

    BOOLEAN类型的取值分别是:true(真)和false(伪),分别用'1'和'0'表达true和false;

     

    程序的文件名尽可能与该程序的实体名一致,原则上文件名不分大小写,但推荐使用小写,特别是后缀;

     

    类型STD_LOGIC比BIT包含的内容丰富和完整得多,当然也包含了BIT类型

    BIT数据类型定义:TYPE BIT IS('0','1'); --只有两种取值

    STD_LOGIC数据类型定义:

    TYPE STD_LOGIC IS ('U','X','0','1','Z','W','L','H','-');

    STD_LOGIC所定义的9种数据的含义是:'U'表示未初始化的;'X'表示强未知的;'0'表示强逻辑0;'1'表示强逻辑1;'Z'表示高阻态;'W'表示弱未知的;'L'表示弱逻辑0;'H'表示弱逻辑1;'-'表示忽略。

    VHDL 标准中规定标准库STD 和工作库WORK 都是默认打开的

     

    VHDL通过以下表式来测定某信号的跳变情况:<信号名>'EVENT

    例:CLK'EVENT AND CLK = '1'

    不完整的条件语句:即在条件语句中,没有将所有可能发生的条件给出对应的处理方式;

     

    元件例化就是引入一种连接关系,将预先设计好的设计实体定义为一个元件,然后利用特定的语句将此元件与当前的设计实体中的指定端口相连接,从而为当前设计实体引进一个新的低一级的设计层次;

     

    省略赋值操作符(OTHERS=>X)

     

    HDL的文本输入方式、原理图输入方式、状态图输入方式、波形输入方式、MATLAB的模型输入方式,以及混合输入方式

    展开全文
  • Free Range VHDL

    2014-04-11 00:46:55
    As with all learning, once you have obtained and applied some useful information, it is much easier to build on what you know as opposed to continually adding information that is not directly ...
  • vhdl 函数

    2021-01-25 19:51:13
    not 对信号取反,类似Verilog的 ~ int2slv(n,p),将十进制数据n转换为位宽p的std_logic_vector 结构体的使用及结构体初值定义,这个在一个结构体体量很大时,有很大优势。 无需像verilog一样定义一堆名字机构类似的...
  • VHDL运算符

    千次阅读 2019-05-23 13:17:55
    and or not xor 位的拼接 & ('0' & diff(4 downto 1)) 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增加了 图片...
  • Missing VHDL language

    2020-11-25 19:42:10
    <div><p>I would like to publish VHDL code ...220) but this language is not supported. Any plan fot this ?</p><p>该提问来源于开源项目:aramk/crayon-syntax-highlighter</p></div>
  • vhdl运算符

    千次阅读 2019-03-14 09:26:53
    逻辑运算符:not,and,or,nand(no and),nor(no,or或非),xor(异或) 使用规则: 1,只有数据类型为std_logic,std_logic_vector,bit这三种类型可以调用这六种逻辑运算符注意不包括bit_vector,只能使用...
  • VHDL操作符

    千次阅读 2018-08-25 15:36:47
    VHDL操作符 按照算数优先级排序: 混合运算符 (miscellaneous operators): 乘方 ** 取绝对值 abs 非 not 求积运算符(multiplying operators): 乘 * 除 / 取模 mod 取余 rem 符号运算符...
  • vhdl and laser making

    2011-04-14 17:27:36
    vhdl combanation this is a very nice codes. believe or not
  • <div><p>When will support for VHDL be added (<code>.vhd</code> and <code>.vhdl)? I would guess this is similar to Ada, so probably not much work there. SystemVerilog (<code>.sv)should be the same as ...
  • vhdl按键消抖

    2013-05-10 19:35:15
    关于vhdl的消抖程序, library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity shift is port(sin,cp:in std_logic;f:out std_logic); end shift; ...
  • <div><p>VHDL process details ...<p>When this behaviour is not a bug, there should be a switch to avoid losing global scope tags inside VHDL processes or a switch to enable more detailed documentation. ...
  • Understanding VHDL ...Attributes are a feature of VHDL that allow you to extract additional information about an object (such as a signal, variable or type) that may not be directly related to...
  • <p>When a constant VHDL string type is defined in the architecture region, doxygen generates an incorrect html output. In particular, this error happens when the string value ends with the character &...
  • <p>It seems ModelSim wants the strings <code>true</code> and <code>false</code> for VHDL generics. After the changes in this PR I get the following with no warning: <pre><code> # vsim -do "run -...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 217
精华内容 86
关键字:

notvhdl