求Verilog HDL程序
1编写求补码的VerilogHDL程序,输入是带符号的8位二进制数。2有一个比较电路,当输入的一位8421BCD码大于4时,输出为1,否则为0。试编写出VerilogHD...
1编写求补码的Verilog HDL程序,输入是带符号的8位二进制数。
2有一个比较电路,当输入的一位8421BCD码大于4时,输出为1,否则为0。试编写出Verilog HDL程序。 展开
2有一个比较电路,当输入的一位8421BCD码大于4时,输出为1,否则为0。试编写出Verilog HDL程序。 展开
3个回答
展开全部
1
module sig2component(clk, rst_n, din, dout)
input clk;
input rst_n;
input [7:0] din;
output [7:0] dout;
always @ (posedge clk or negedge rst_n)
if (!rst_n)
dout <= 0;
else if (din[7]) begin
dout[6:0] <= ~din[6:0] + 7'd1;
dout[7] <= din[7];
end
else
dout <= din;
endmodule
2
module compare(clk, rst_n, din, flag_out)
input clk, rst_n;
input [3:0] din;
output flag_out;
always @ (posedge clk or negedge rst_n)
if (!rst_n)
flag_out <= 0;
else if (din > 4'd4)
flag_out <= 1'b1;
else
flag_out <= 1'b0;
module sig2component(clk, rst_n, din, dout)
input clk;
input rst_n;
input [7:0] din;
output [7:0] dout;
always @ (posedge clk or negedge rst_n)
if (!rst_n)
dout <= 0;
else if (din[7]) begin
dout[6:0] <= ~din[6:0] + 7'd1;
dout[7] <= din[7];
end
else
dout <= din;
endmodule
2
module compare(clk, rst_n, din, flag_out)
input clk, rst_n;
input [3:0] din;
output flag_out;
always @ (posedge clk or negedge rst_n)
if (!rst_n)
flag_out <= 0;
else if (din > 4'd4)
flag_out <= 1'b1;
else
flag_out <= 1'b0;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
第一个程序第一个回答的人写得不错
第二个有个更简单的,验证过可以
module com(a,b);
input[3:0]a;
output b;
assign b=(a>=4'h4)?1:0;
endmodule
module t_com;
reg[3:0]a;
wire b;
initial
begin
a=4'h1;
#5 a=4'h5;
#5 $stop;
end
com m(a,b);
endmodule
第二个有个更简单的,验证过可以
module com(a,b);
input[3:0]a;
output b;
assign b=(a>=4'h4)?1:0;
endmodule
module t_com;
reg[3:0]a;
wire b;
initial
begin
a=4'h1;
#5 a=4'h5;
#5 $stop;
end
com m(a,b);
endmodule
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面两个都是高手 学习一下~哈哈
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询