社区
硬件设计
帖子详情
VHDL中,downto与to有什么区别啊
bluesky140
2009-03-11 03:17:10
variable a,b:std_logic_vector(7 downto 0);
a(0 to 5):=b(2 to 7);
在上面两句话中,downto 与to 在使用中有什么区别呢?
a(0 to 5):=b(7 downto 2);中,a(0)到底等于b(2)还是b(7)啊?
a(0 to 5):="010101" a(0)是等于0还是等于1?
a(5 to 0)或者a(2 downto 6) 这种描述方式对吗?
谢谢
...全文
6691
7
打赏
收藏
VHDL中,downto与to有什么区别啊
variable a,b:std_logic_vector(7 downto 0); a(0 to 5):=b(2 to 7); 在上面两句话中,downto 与to 在使用中有什么区别呢? a(0 to 5):=b(7 downto 2);中,a(0)到底等于b(2)还是b(7)啊? a(0 to 5):="010101" a(0)是等于0还是等于1? a(5 to 0)或者a(2 downto 6) 这种描述方式对吗? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Li Kang
2011-09-13
打赏
举报
回复
谢谢楼主
ebaozi
2009-06-04
打赏
举报
回复
[Quote=引用 4 楼 skye_ld 的回复:]
所以总结成一句话,声明的时候无差别,赋值的时候要注意~~
[/Quote]
精辟……路过学习
我觉得声明的时候还是从高到低吧,符合平时习惯。
skye_ld
2009-03-15
打赏
举报
回复
a(0)=b(7)
To是由低到高 Downto是有高到低
具体赋值没有区别 但是前后设置要一致 要to就都to 要不就都Downto
To和downto之间的赋值会高地位颠倒
所以总结成一句话,声明的时候无差别,赋值的时候要注意~~
bluesky140
2009-03-12
打赏
举报
回复
谢谢,大致明白了
aaronstone
2009-03-12
打赏
举报
回复
downto 从高位到低位
to 从低位到高位
语法上没有错误
不过我不这么用
benjaminweber
2009-03-11
打赏
举报
回复
to 是从小到大
downto 是从大到小
a(0 to 5) := b(7 downto 2)中, a(0)=b(7)
我不认为将a声明为7 downto 0之后用0 to 5的方式使用是正确的,至少是不合适的。
声明为 to 就该用 to, 声明为 downto, 就该用 downto 比较好
24秒计时器
vhdl
24秒计时器
VHDL
entity timer is port( clk : in std_logic; rst : in std_logic; pause : in std_logic; hit : in std_logic; sec1 : out std_logic_vector(5
downto
0); sec2 : out std_logic_vector(7
downto
0); sec1_pause : out std_logic_vector(5
downto
0); sec2_pause : out std_logic_vector(7
downto
0) ); end timer;
VHDL
语言教程 QUARTUSii 设计
14.1.3 频率计功能模块的
vHDL
描述 垦1以上的测试原理与各模块的功能描述‘ ]C74Tl/CNT2 LIBRARY压EE: USE正EE.STD LOGIClE64.AL巳; USEIE蓖E.Sm LoG汇uNsIGNED.A比; RN丁ITY CNT 15 以下给心相应的vHD巳逻辑描述 PORT(A.B。CLK,CeR:则STD LOGIC: OO:OUT STD UGIC VECTOR(7
DOWNTO
0); Q:OUT STD—LOGIC—VECTOR(31DOWN了O 0))z FXD CNT. ARCHITECTU佃behav OFCNTIS SIGNAL CNT:STD LOGIC VECTOR(3l
DOWNTO
0): SIGNAL SEL:S1D一山GIC—VbL’1”0R(1DOWN丁O o)5 REGE4 PROCE5S(CeKl CLR) DEGIN IF CLR=’1’THEN CNT<= ENDIF; END PROCESS: PROCESS(A、B) BEGIN S僵l〔0)<;A: SEL(1)‘=B: f SEL=”Oo”THEN OO<=CNT(7D0wNTO 0); ELqIF SEL=”01”THEN OO<=CNT(15
DOwNTO
8): EI‘SIF SEL=“10”THEN OO<=CNT(23
DOWNTO
[6X ELSIF SEL:“11”THEN Oo<=CNT(31
DOwNTO
24); EIjE OO<=”00000000”; ENDIF; ......
基于Simulink的FPGA代码自动生成技术
课程主要讲解基于simulink的hdl coder模块组的使用方法,学会使用hdl coder搭建算法模型,校验模型并能自动生成可以下载到FPGA运行的Verilog或
VHDL
代码,学会testbench文件的自动生成和modelsim模型的验证。对于初学者,能掌握基于simulink的FPGA代码自动生成技术,会加速初学者开发复杂的FPGA算法的本领。
可编程硬件描述语言
VHDL
Quartus 八进制计数器源代码.pdf
VHDL
Quartus 八进制计数器源代码 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNTER_8 IS PORT ( CLK : IN STD_LOGIC; RS : IN STD_LOGIC; COUNT_OUT : OUT STD_LOGIC_VECTOR(3
DOWNTO
0) ); END COUNTER_8; ARCHITECTURE BEHAVIORAL OF COUNTER_8 IS SIGNAL NEXT_COUNT : STD_LOGIC_VECTOR(3
DOWNTO
0); SIGNAL D_COUNT : STD_LOGIC_VECTOR(3
DOWNTO
0);
vhdl
设计FPGA读写DS18B20温度传感器quartus工程源码+文档说明.rar
vhdl
设计FPGA读写DS18B20温度传感器quartus工程源码+文档说明 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity ds18B20 is port( clk : in std_logic;---50MHz rst_n: in std_logic; --复位信号输入 one_wire : inout std_logic; --DS18B20数据线 ---------------- dataout : out std_logic_vector(7
downto
0); --数码管数据输出 en : out std_logic_vector(3
downto
0)); --数码管位选信号 end ds18B20; architecture Behavioral of ds18B20 is signal dataout_buf:std_logic_vector(3
downto
0); signal count:std_logic_vector(17
downto
0); --分频计数器 signal cnt_scan:std_logic_vector(17
downto
0); --数码管的扫描显示计数器 signal clk_1us:std_logic;-- 1MHz 时钟 signal cnt_1us:integer range 0 to 750002;-- 1us延时计数子 signal cnt_1us_clear:std_logic;-- 请1us延时计数子 TYPE STATE_TYPE is (S00,S0,S1,S2,S3,S4,S5,S6,S7, WRITE0,WRITE1,WRITE00,WRITE01,READ0,READ1,READ2,READ3); --状态机 signal state: STATE_TYPE; --初始状态设置为复位状态 signal one_wire_buf:std_logic;-- One-Wire总线 缓存寄存器 signal temperature_buf:std_logic_vector(15
downto
0);-- 采集到的温度值缓存器(未处理) signal DS18B20_DATA_buf:std_logic_vector(15
downto
0);-- 采集到的温度值缓存器(未处理) signal DS18B20_DATA_buf_temp:std_logic_vector(15
downto
0);-- 采集到的温度值缓存器(未处理) signal step:integer range 0 to 50;--子状态寄存器 0~50 signal bit_valid:integer range 0 to 15;--有效位 signal one_wire_in:std_logic; signal t_buf:std_logic_vector(15
downto
0); signal t_buf_temp:std_logic_vector(15
downto
0); signal cnt:integer range 0 to 50;-- 计数子 -- //++++++++++++++++++++++++++++++++++++++ -- // 分频器50MHz->1MHz 开始 -- //++++++++++++++++++++++++++++++++++++++ begin -- process (clk,rst_n) -- begin -- if rising_edge(clk) then -- if(rst_n='0') then -- cnt <= 0; -- else -- if(cnt = 49)then -- cnt <= 0; -- else -- cnt <= cnt + 1; -- end if; -- end if; -- end if; -- end Process;
硬件设计
6,127
社区成员
11,292
社区内容
发帖
与我相关
我的任务
硬件设计
硬件/嵌入开发 硬件设计
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 硬件设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章