m序列vhdl程序,多项式f(x)=1+x^2+x^3+x^4+x^8 ,在线等。。

libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_... library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity PRSG is
port (reset,clk:in std_logic;
sel:in std_logic_vector(1 downto 0);
dout:out std_logic_vector(7 downto 0));
end PRSG;

architecture behavioral of PRSG is
signal ddout:std_logic_vector(7 downto 0);
signal temp:std_logic;
begin
process(sel)
begin
if reset='1' then
ddout<="00000000";
elsif clk'event and clk='1' then ------这里改下就行了
case sel is
when"00"=>ddout<="01010001";
when"01"=>ddout<="00110001";
when"10"=>ddout<="10001001";
when others=>ddout<="01111001";
end case;
temp<=ddout(0) xor ddout(3);
dout(0)<=ddout(1);
dout(1)<=ddout(2);
dout(2)<=ddout(3);
dout(3)<=ddout(4);
dout(4)<=ddout(5);
dout(5)<=ddout(6);
dout(6)<=ddout(7);
dout(7)<=ddout(7) xor temp;
end if;
end process;
end behavioral;

这个是多项式为1+X^3+X^7的程序,求高手帮忙改下。谢谢~~
展开
kevingar
2011-08-31 · TA获得超过479个赞
知道小有建树答主
回答量:127
采纳率:100%
帮助的人:175万
展开全部
很简单的,你先把它电路图画出来,然后就知道怎么写了。
temp=x0&x2&x3&x4&x8
dout8<=dout8&temp
其余照抄就可以了。
你可以学习一下多项式和移位寄存器的关系就知道了
追问
嗯,但是 sel是什么作用?
追答
晕哪。你要看几拍之后输出才是你要的值嘛。
sel是用来选在初始化序列的,就是移位寄存器的初始值,不同的值对应的需求不一样。
多看看书,光在这里问是不够的
p8o5
2011-08-31 · 贡献了超过139个回答
知道答主
回答量:139
采纳率:0%
帮助的人:21.3万
展开全部
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity PRSG is
port (reset,clk:in std_logic;
sel:in std_logic_vector(1 downto 0);
dout:out std_logic_vector(7 downto 0));
end PRSG;

architecture behavioral of PRSG is
signal ddout:std_logic_vector(7 downto 0);
signal temp:std_logic;
begin
process(sel)
begin
if reset='1' then
ddout<="00000000";
elsif clk'event and clk='1' then ------这里改下就行了
case sel is
when"00"=>ddout<="01010001";
when"01"=>ddout<="00110001";
when"10"=>ddout<="10001001";
when others=>ddout<="01111001";
end case;
temp<=ddout(0) xor ddout(3);
dout(0)<=ddout(1);
dout(1)<=ddout(2);
dout(2)<=ddout(3);
dout(3)<=ddout(4);
dout(4)<=ddout(5);
dout(5)<=ddout(6);
dout(6)<=ddout(7);
dout(7)<=ddout(7) xor temp;
end if;
end process;
追问
Any differences to my attachment?....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
117726573
2011-08-31 · TA获得超过142个赞
知道小有建树答主
回答量:71
采纳率:0%
帮助的人:81.9万
展开全部
你的意思是参照着这个已经给的程序(实现f(x)=1+x^3+x^7)基础上改成f(x)=1+x^2+x^3+x^4+x^8的?
我举得这个给的程序就有问题,m序列输出怎么会是八位的一起输出,不是一位一位移位输出的么,除非后面还有个并转串模块?
追问
dout(7)是输出,其他位都没变
追答
就按楼上的做
sel是用来选择序列的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZHANGYUXIN548
2011-08-31
知道答主
回答量:17
采纳率:0%
帮助的人:2.8万
展开全部
说什么,没有看懂
追问
vhdl产生m序列。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式