|
|||||||||||
| 技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
请问各位我这个并转串的程序有什么问题 |
| 作者:hxwyaoyuan 栏目:EDA技术 |
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SHIFTER16 IS PORT(CLK,LOAD:IN STD_LOGIC; DATAIN:IN STD_LOGIC_VECTOR(15 DOWNTO 0); DATAOUT:OUT STD_LOGIC); END ENTITY; ARCHITECTURE A OF SHIFTER16 IS SIGNAL REG:STD_LOGIC_VECTOR(15 DOWNTO 0); BEGIN PROCESS(CLK,REG,LOAD) BEGIN IF(CLK'EVENT AND CLK='1')THEN IF LOAD='1' THEN REG<=DATAIN; ELSE DATAOUT<=REG(0); REG<='0'®(15 DOWNTO 1); END IF; END IF; END PROCESS; END A; 仿真结果好象不太对 谢谢 |
| 2楼: | >>参与讨论 |
| 作者: hxwyaoyuan 于 2005/5/27 10:35:00 发布:
怎么没人回阿 怎么没人回阿 谢谢了 |
|
| 3楼: | >>参与讨论 |
| 作者: moneyw 于 2005/5/27 21:56:00 发布:
当然不对! 你这段只是用时钟打了一次,你应当写个循环!次数是数据宽度减一! |
|
| 4楼: | >>参与讨论 |
| 作者: hxwyaoyuan 于 2005/5/28 17:53:00 发布:
没太明白 没太明白 在那部分加循环阿 谢谢 |
|
| 5楼: | >>参与讨论 |
| 作者: 吴明诗 于 2005/5/29 8:26:00 发布:
仿真出什么毛病了,说清楚呀 |
|
| 6楼: | >>参与讨论 |
| 作者: hxwyaoyuan 于 2005/5/29 9:49:00 发布:
数据输出位只有一位 数据输出位只有一位 也就是只有一个时钟有效 |
|
| 7楼: | >>参与讨论 |
| 作者: 吴明诗 于 2005/5/29 13:00:00 发布:
我只会verlog,我觉得问题在这 REG<=REG(15 DOWNTO 1)&'0' |
|
| 8楼: | >>参与讨论 |
| 作者: 吴明诗 于 2005/5/29 13:10:00 发布:
不好意思写反了, clk1x'event and clk1x = '1' then if xxx then tsr <= tbr ; elsif xxx then tsr <= tsr(6 downto 0) & '0' ; sdo <= tsr(7) ; 这个程序就可用,你再看看仿真设置方面吧,个人认为程序没问题 |
|
| 9楼: | >>参与讨论 |
| 作者: hxwyaoyuan 于 2005/5/30 10:24:00 发布:
不好意思,程序没问题 刚开始用MAX+PLUS II仿真结果不对 后来改用QUARTUS就好使了 谢谢各位 |
|
|
|
Copyright © 1998-2006 www.j71x6.cn 浙ICP证030469号 |