各位大牛,小弟才学VHDL,望指导。程序的本意是设计一个多输入与门。
1.设计一个两输入与门(这个简单能看懂)
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity myand1 is
port(a,b:in std_logic;
qut std_logic);
end myand1;
architecture rtl of myand1 is
begin
q<=a and b;
end rtl;
2.通过元件例化语句和generic语句修改输入变量数目,本程序设计为8个输入端口
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity myand is
generic (sreg_width:integer:=8);
port(indata:in std_logic_vector(sreg_width-1 downto 0);
qut std_logic);
end myand;
architecture rtl of myand is
signal z:std_logic_vector(sreg_width-1 downto 0);
component myand1
port(a,b:in std_logic;
qut std_logic);
end component;
begin
z(sreg_width)<='1';--z是定义个的一个位矢量信号,怎么能给它赋1?最起码应该是“1111 1111”,还有z(sreg—width)这种书写格式没见过?
g1:for i in sreg_width-1 downto 0 generate--有for generate这个语句嘛,它的作用是?
u1:myand1 port map (z(i+1),indata(i),z(i));端口映射时的端口对应关系,还有z(i+1),indata(i),z(i));什么意思?
end generate;--generate都没见过
q<=z(0);
end rtl;
共8条
1/1 1 跳转至页
1、z(sreg_width)<='1';--z是定义个的一个位矢量信号,怎么能给它赋1?最起码应该是“1111 1111”,还有z(sreg—width)这种书写格式没见过? 请看上面的:generic (sreg_width:integer:=8);表明sreg_width是个常量,所以z(sreg_width)表示z的第sreg_width位; 2、g1:for i in sreg_width-1 downto 0 generate--有for generate这个语句嘛,它的作用是?、 有,类似于C语言中满足什么条件就调用哪个函数。 3、u1:myand1 port map (z(i+1),indata(i),z(i));端口映射时的端口对应关系,还有z(i+1),indata(i),z(i));什么意思? z(i+1)表示z的第(i+1)位,下同理 |
共8条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |