FPGA|CPLD|ASIC论坛
登录
直播中
Elecfans管家
11年用户
3163经验值
擅长:可编程逻辑 测量仪表
私信
关注
[问答]
【FPGA每周一练】FPGA的HDL建模第三周
开启该帖子的消息推送
Verilog HDL
Verilog HDL
Verilog HDL
Verilog HDL
`
【
FPGA
每周一练】FPGA的HDL建模第三周
小编有话讲:各位用户朋友们,我们的每周一练在
@chenchu0910
的付出与大家的支持下,已经迎来了第三周,看到有很多朋友一直在跟着练习,我们都感到很欣慰,希望
电子
发烧友以后能给大家提供更多的学习机会,也希望大家踊跃发言,我们愿与您携手共进,希望在这里能给您一片自由的学习与交流天地!
上周问题答案如下:
问题1:设计一个10进制计数器;
源代码如下:
module count(clk,rstn,en,dout);
input clk,rstn,en;
output reg [4:0] dout;
always@(posedge clk or negedge rstn)
if (!rstn)
dout<=4'b0000;
else
if(en==1'b1)
begin
if(dout==4'b1010)
dout<=4'b0000;
else
dout<=dout+1;
end
endmodule
波形图如下:
问题2:设计3-8译码器。
源代码如下:
module decode(Ain,en,dout);
input [2:0] Ain;
input en;
output reg [7:0] dout;
always@(en or Ain)
if(en==1'b1)
case(Ain)
3'b000: dout <= 8'b11111110;
3'b001: dout <= 8'b11111101;
3'b010: dout <= 8'b11111011;
3'b011: dout <= 8'b11110111;
3'b100: dout <= 8'b11101111;
3'b101: dout <= 8'b11011111;
3'b110: dout <= 8'b10111111;
3'b111: dout <= 8'b01111111;
endcase
else
dout<=8'b11111111;
endmodule
波形图如下:
以上便是第二周的答案,小伙伴们做对了吗?
本周题目是:用Verilog HDL设计
1、8位循环移位寄存器
2、D触发器(上升沿触发)
下周题目预告:各类触发器
往期回顾:
【FPGA每周一练】FPGA的HDL建模第一练
【FPGA每周一练】FPGA的HDL建模第二周
`
回帖
(8)
泡芙奶昔
2014-12-3 16:55:40
我来写一个8位循环移位寄存器
module yiweijicun(in,out,clk,rst);
input [7:0] in;
input clk,rst,load;
output out;
reg out;
reg [7:0] temp;
always @(posedge clk)
begin
if (!rst)
out=0;
else begin
if(!load)
temp=in;
else begin
out=temp[7];
temp[7]=temp[6];
temp[6]=temp[5];
temp[5]=temp[4];
temp[4]=temp[3];
temp[3]=temp[2];
temp[2]=temp[1];
temp[1]=temp[0];
end
end
end
我来写一个8位循环移位寄存器
module yiweijicun(in,out,clk,rst);
input [7:0] in;
input clk,rst,load;
output out;
reg out;
reg [7:0] temp;
always @(posedge clk)
begin
if (!rst)
out=0;
else begin
if(!load)
temp=in;
else begin
out=temp[7];
temp[7]=temp[6];
temp[6]=temp[5];
temp[5]=temp[4];
temp[4]=temp[3];
temp[3]=temp[2];
temp[2]=temp[1];
temp[1]=temp[0];
end
end
end
举报
Oo时间小鱼oO
2014-12-3 20:19:28
看看,学习一下
看看,学习一下
举报
h1654155757.3649
2014-12-3 21:00:03
//8位移位寄存器
module shift8bit(
input wire clk,
input wire clr,
input wire datain,
output reg [7:0]qout
);
always @ (posedge clk or posedge clr)
begin
if(clr == 1)
begin
qout <= 0;
end
else
begin
qout[7] <= datain;
qout[6:0] <= qout[7:1];
end
end
endmodule
//D触发器
module DFF(
input wire clk,
input wire clr,
input wire d,
output reg q
);
always @ (posedge clk or posedge clr)
begin
if(clr == 1)
begin
q <= 0;
end
else
begin
q <= d;
end
end
endmodule
顺便谁能给个testbench的好教程?谢谢了!
//8位移位寄存器
module shift8bit(
input wire clk,
input wire clr,
input wire datain,
output reg [7:0]qout
);
always @ (posedge clk or posedge clr)
begin
if(clr == 1)
begin
qout <= 0;
end
else
begin
qout[7] <= datain;
qout[6:0] <= qout[7:1];
end
end
endmodule
//D触发器
module DFF(
input wire clk,
input wire clr,
input wire d,
output reg q
);
always @ (posedge clk or posedge clr)
begin
if(clr == 1)
begin
q <= 0;
end
else
begin
q <= d;
end
end
endmodule
顺便谁能给个testbench的好教程?谢谢了!
1
举报
谢晖
2014-12-5 14:57:46
学习了。。。谢谢
学习了。。。谢谢
举报
Peabago
2014-12-6 08:54:38
楼主,你好!我刚接触FPGA,请问要参加你们的每周一练活动,需要安装什么软件呢?Xilinx的13.4版本可以吗?还需要其他的工具吗?
楼主,你好!我刚接触FPGA,请问要参加你们的每周一练活动,需要安装什么软件呢?Xilinx的13.4版本可以吗?还需要其他的工具吗?
1
举报
chenchu0910:
新学的,建议多写写代码,用modelsim 进行功能仿真,在用ISE综合下载到开发板看看结果。
天使的名字就是
2014-12-6 14:15:38
module shiftreg(clk,rst,D,Dout);
input D,clk,rst;
output[7:0] Dout;
reg[7:0] Dout;
always @(posedge clk or negedge rst)
begin
if(~rst) Dout<=8'b00000000;
else Dout<={Dout[6:0],D};
end
endmodule
module shiftreg(clk,rst,D,Dout);
input D,clk,rst;
output[7:0] Dout;
reg[7:0] Dout;
always @(posedge clk or negedge rst)
begin
if(~rst) Dout<=8'b00000000;
else Dout<={Dout[6:0],D};
end
endmodule
举报
8051DPJ
2014-12-9 21:08:13
哇,这么多FPGA高手啊
哇,这么多FPGA高手啊
举报
刘正
2015-9-20 19:17:52
输入端没有预置数控制端与预制数,加上输出端没有进位信号,过于简单,没啥实用性。。。
输入端没有预置数控制端与预制数,加上输出端没有进位信号,过于简单,没啥实用性。。。
举报
更多回帖
rotate(-90deg);
回复
相关问答
Verilog HDL
Verilog HDL
Verilog HDL
Verilog HDL
FPGA
每周一练
火热上线,带你
一点一
滴学习
FPGA
2014-11-19
6977
【
FPGA
每周一练
汇总帖】
FPGA
的
HDL
建模
持续更新
2014-12-11
8952
【
FPGA
每周一练
】
FPGA
的
HDL
建模
第
一周
2014-11-19
10168
【
FPGA
每周一练
】
FPGA
的
HDL
建模
第二
周
2014-11-26
6248
关于Pads的每日
一练
,你有什么想问的吗?
2014-11-24
9341
LabVIEW每日
一练
汇总贴(1.20更新)(已颁奖)
2014-11-03
82714
每日
一练
2011-12-03
3592
FPGA
版块
每周
十问,更多礼品等你来拿!
2014-12-23
3106
每日
一练
无法回复,看不到答案
2014-09-24
4082
【
每周一练
】LabVIEW益智游戏 - 2048(公布源程序 已结束)
2015-11-01
31322
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分