FPGA
燃烧的森林猿
这个作者很懒,什么都没留下…
展开
-
Verilog HDL**常用关键字
原创 2019-01-17 10:40:01 · 7105 阅读 · 0 评论 -
Verilog HDL**文件说明
Verilog HDL**绑定引脚的文件为.qsf文件原创 2019-01-16 20:04:45 · 2027 阅读 · 0 评论 -
Verilog HDL**设置Tab键长度,将空格键设置为Tab键
原创 2019-01-16 19:34:27 · 1319 阅读 · 0 评论 -
Verilog HDL**两位数码管计数器,关于reg位数的问题
顶层原理图/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////count.vmodule count( input sys_clk, input sys_rst_n, output...原创 2019-01-22 13:36:07 · 4248 阅读 · 3 评论 -
VHDL**函数的定义和调用(返回两个数中最大的数)
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY max21 ISPORT(a,b: IN INTEGER RANGE 0 TO 15;q: OUT INTEGER RANGE 0 TO 15);END ENTITY;ARCHITECTURE behave OF max21 ISBEGINPROCESS(a,b)FUNCTION ma...原创 2019-01-16 15:58:54 · 4307 阅读 · 1 评论 -
VHDL**过程的应用(数组元素从大到小排序)
用VHDL描述排序功能,将一个数组的元素按从小到大的顺序排列,引入了过程(PROCEDURE)调用、自定义程序包、数据类型(整型数组)。PACKAGE data_type IS --定义程序包 SUBTYPE data_element IS INTEGER RANGE 0 TO 3; --定义数据类型 TYPE data_array IS array(1 TO 3) ...原创 2019-01-16 15:29:56 · 1850 阅读 · 1 评论 -
VHDL**8位二进制数转换成16位二进制数
`SIGNAL tmp_a: STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL tmp_b: STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL tmp_0: STD_LOGIC_VECTOR(15 DOWNTO 0);tmp_0 <= “00000000” & tmp_b WHEN tmp_a(0) = ‘1’ ELSE“0000...原创 2019-01-16 11:01:25 · 3436 阅读 · 1 评论 -
VHDL**加法树式乘法器
采用流水线操作,可以提高运算速度,但8位乘8位消耗了128和逻辑单元。需要注意:SLL逻辑左移(SRL右移),最左边的数会被移出,最右边补0,只能对BIT类型使用;SLA算数左移(SRA右移),最左边的数会被移出,最右边补1;ROL循环左移(ROR右移),最左边的数会被循环移到右边。BIT类型不能执行‘+’操作。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164...原创 2019-01-16 11:00:54 · 2027 阅读 · 0 评论 -
VHDL**总结加法遇到的问题
VHDL 规定加减操作数的数据类型是整数,对于位宽大于4的加法器和减法器,VHDL将调用库元件进行综合。在综合后,由加减运算符(+、-)组合的逻辑门电路所耗费的硬件资源的规模都比较大,但当加减运算符的其中一个操作数或两个操作数都为整型常熟,则运算只需很少的电路资源。话虽如此,但将STD_LOGIC_VECTOR类型的输入信号转化成整型后消耗的资源仍然为8,与没转换的一致。LIBRARY IEE...原创 2019-01-16 11:00:24 · 5110 阅读 · 1 评论 -
VHDL**FOR循环
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY p_check IS PORT(a: IN STD_LOGIC_VECTOR(7 DOWNTO 0); y: OUT STD_LOGIC);END ENTITY;ARCHITECTURE behave OF p_check ISBEGIN PROCESS(a) VARIABL...原创 2019-01-16 10:58:49 · 17124 阅读 · 0 评论 -
VHDL**类型变换函数
原创 2019-01-16 10:59:21 · 1087 阅读 · 0 评论 -
VHDL**IEEE.STD_LOGIC_ARITH.ALL、IEEE.STD_LOGIC_SIGNED.ALL和IEEE.STD_LOGIC_UNSIGNED.ALL
Synopsys的程序包STD_LOGIC_ARITH、STD_LOGIC_SIGNED和STD_LOGIC_UNSIGNED中已经为许多类型的运算重载了算数运算符合关系运算符,因此只要引用这些程序包,SIGNED、UNSIGNED、STD_LOGIC、STD_LOGIC_VECTOR之间也可以混合运算。但执行加法时,同时调用STD_LOGIC_SIGNED和STD_LOGIC_UNSIGNED...原创 2019-01-16 10:57:53 · 4186 阅读 · 0 评论 -
Verilog HDL**阻塞赋值和非阻塞赋值
阻塞赋值符号“=”用于阻塞的赋值,凡是在组合逻辑(如在assign语句中)赋值的需要使用用阻塞赋值。阻塞赋值“=”在begin和end之间的语句是顺序执行,属于串行语句。always语句的敏感变量如果不含有时钟,即always(*)这样描述,那么也属于组合逻辑,需要使用阻塞赋值。一个组合逻辑的例子:always @(*) begin case (led_ctrl_cnt) 2'd0...原创 2019-01-17 10:52:24 · 1305 阅读 · 0 评论 -
modelsim**# (vish-4014) No objects found matching '/ip_fifo_tb/u1_ip_fifo/*'.
添加波形时出现这个错误,解决方法:点击simulate->star simulation->把Enable Optimization前面的勾取消->选择仿真文件原创 2019-01-23 15:52:02 · 1805 阅读 · 0 评论