永发信息网

急救 用verilog HDL语言设计一个m序列的生成程序,您之前有有解决过相关问题。

答案:1  悬赏:60  手机版
解决时间 2021-02-28 02:25
急救 用verilog HDL语言设计一个m序列的生成程序,您之前有有解决过相关问题。
最佳答案
我m序列代码赋值下来是,发现wire和x中间没有空格,这可能是导致你没有输出的原因,个人建议你的代码这样写:
module prbs(clk,rst,m_out);

input clk,rst;
output m_out;

reg[7:0] reg_buf;
reg x;

always@(posedge clk or posedge rst)
if(!rst)
begin
reg_buf[7:0] <= 8'b1000_0000;
x <= 1'b1;
end
else
begin
reg_buf[7:0] <= {reg_buf[6:0],x};
x <= reg_buf[7]^reg_buf[3]^reg_buf[2]^reg_buf[1];
end

assign m_out = reg_buf[7];

endmodule追问首先感谢您的回答,刚刚试了您的这个程序,但是我用我的 那个testbench仿真这个m序列产生,还是没输出的,请问您能帮我看下我的测试文件testbench 有没有写对哦。。麻烦你了。。追答module prbs(clk,rst,reg_buf,m_out);

input clk,rst;
input [7:0]reg_buf;
output m_out;

reg [7:0]reg_buf_r;

always@(posedge clk or posedge rst)
if(!rst)
reg_buf_r[7:0] <= 8'b1000_0000;
else
reg_buf_r[7:0] <= {reg_buf[6:0],reg_buf[7]^reg_buf[3]^reg_buf[2]^reg_buf[1]};

assign m_out = reg_buf_r[7];

endmodule

测试文件testbench:
`timescale 1ns/1ps// testbench.v
`include "prbs.v"
module testbench;

wire m_out;

reg[7:0]reg_buf;
reg clk;
reg rst;

prbs prbs(.m_out(m_out),.rst(rst),.reg_buf(reg_buf).clk(clk));

initial
begin
rst = 1'b1; #10 rst = 1'b0;
clk = 1'b1; forever #50 clk = ~clk;
end

always #50 reg_buf <= {$random} % 256;

endmodule
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
《武媚娘传奇》一共多少集?
梦见宰牛
建立平等的妇女协作关系的具体技巧包括()。
奔跑吧蛋糕我想知道这个在什么地方
一个人会开汽车就会开其他车,一个人会画画就
那些成语里面带有“鸡”字和“呆”字
空等待,孤独客,赢双彩,猜三个数字
有大小两桶油,大桶里装的油是小桶的3陪,如果
广州东方国际集装箱有限公司的待遇如何?在线
xts有必要贴膜吗
豆蔻蛋糕店地址在什么地方,想过去办事
下列各项图标所代表的区域经济组织中,有中国
美佳美业地址在哪,我要去那里办事
如果两个人在同一家银行的不同网点但是在同一
dnf地灵伤害怎么算
推荐资讯
高端水里的偏硅酸有什么作用?
去海边玩,手臂晒伤发红有刺痛感。然后没太在
追什么穷什么成语
一个骷髅身上绑了个女人是什么电影
氧苷按苷元不同可分为A.醇苷B.酚苷C.酯苷D.吲
我是歌手张靓颖all of me 是哪一期
加州菁华酒店在什么地方啊,我要过去处理事情
主板型号 英特尔 Springdale-G 芯片组 最高支
王小蒙在学校举办的演讲比赛中夺得了第一名,
QQ炫舞奢华结婚至少要多少钱
一个以前喜欢你的人对你屏蔽了朋友圈怎么回事
有没有没用过的米币卡号和密码?必须是要没用
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?