FPGA数码管计数功能

module decode
(
input clk,
input rst,
output [8:0]seg_led1,  //显示位数
output [8:0]seg_led2
);
reg [8:0]seg[9:0];  //9位位宽的寄存器数组
parameter div=6000000;
reg [23:0]cnt;
reg clk_div;
reg [3:0]ge;
reg [3:0]shi;
initial 
begin
     seg[0] = 9'h3f;                                          
     seg[1] = 9'h06;                                          
     seg[2] = 9'h5b;                                           
     seg[3] = 9'h4f;                                           
     seg[4] = 9'h66;                                           
     seg[5] = 9'h6d;                                           
     seg[6] = 9'h7d;                                           
     seg[7] = 9'h07;                                          
     seg[8] = 9'h7f;                                          
     seg[9] = 9'h6f;
end
always @(posedge clk or negedge rst) //分频 1hz
begin
if(!rst)begin
clk_div<=0;
cnt<=0;
end
else if(cnt<(div-1))begin
cnt<=cnt+1;
//clk_div<=0;
end
else begin
cnt<=0;
clk_div<=~clk_div;
end
end
always @(posedge clk_div or negedge rst)begin
if(!rst)begin
ge<=0;
shi<=0;
end
else if((shi*10+ge)==99)begin
shi<=0;
ge<=0;
end
else if(ge==9)begin
ge<=0;
shi<=shi+1;
end
else ge<=ge+1;

end
assign seg_led1=seg[ge];
assign seg_led2=seg[shi];


endmodule

分配引脚之后既可以下载使用

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
bookshelf = document.querySelector(".bookshelf"); bookshelf.innerHTML = ""; for (var i = 0; i < data.length; i++) { var book = document.createElement("div"); book.classList.add("book"); book.innerHTML = ` 您好,如果您想在 Vivado 中使用数码管进行计数,可以使用 FPGA 的时钟资源和计数器 <img src="${data[i].cover}"> <h3>${data[i].title}</h3> <p>${data[i].资源来实现。以下是实现步骤: 1. 在 Vivado 中创建一个新的工程,并且添加一个新author}</p> `; bookshelf.appendChild(book); } } generateBookshelf(books.slice(current的 Verilog 文件。 2. 在 Verilog 中定义一个计数器,例如: ``` module counter(clk, rst, segPage, currentPage + 6)); // 搜索和筛选功能 var searchInput = document.querySelector("#search"); var); input clk, rst; output [6:0] seg; reg [26:0] count; always @(posed genreSelect = document.querySelector("#genre"); var filterButton = document.querySelector("#filter"); function searchAndFilter() { var filteredge clk or posedge rst) begin if (rst) begin count <= 0; end else begin countBooks = books.filter(function(book) { var searchMatch = book.title.toLowerCase().includes(searchInput.value.toLowerCase()) || book.author.toLowerCase(). <= count + 1; end end assign seg = count[26:20]; endmodule ``` 这个includes(searchInput.value.toLowerCase()); var genreMatch = genreSelect.value === "" || book.genre === genreSelect.value; return searchMatch计数器使用了一个 27 位的寄存器(count),以及一个时钟(clk)和一个重置 && genreMatch; }); currentPage = 0; generateBookshelf(filteredBooks.slice(currentPage, currentPage + 信号(rst)。当重置信号为高电平时,计数器将被清零;当时钟上升6)); } searchInput.addEventListener("input", searchAndFilter); genreSelect.addEventListener("change", searchAndFilter); 沿到来时,计数器将加一。最后,计数器的高7位将显示在数码管上 filterButton.addEventListener("click", searchAndFilter); // 动态加载更多内容 var loadMoreButton = document.querySelector("#load-more"); function loadMore() { currentPage += 6; var filteredBooks = books.filter(function(book)。 3. 在 Vivado 中添加一个时钟资源,例如: - 打开“Sources”面板,然后单击“ { var searchMatch = book.title.toLowerCase().includes(searchInput.value.toLowerCase()) || book.author.toLowerCase().includes(searchInput.value.toLowerCase()); Add Sources”按钮。 - 选择“Clocking Wizard”并单击“Next”。 - 配置您的时钟资源, var genreMatch = genreSelect.value === "" || book.genre === genreSelect.value; return searchMatch && genreMatch; }); 例如:输入时钟频率、输出时钟频率、时钟相位等等。然后单击“Finish”。 4 if (currentPage >= filteredBooks.length) { loadMoreButton.style.display = "none"; } else { generate. 将计数器模块与时钟资源连接起来: - 打开“Diagram”视图,然后将计数Bookshelf(filteredBooks.slice(currentPage, currentPage + 6)); } } loadMoreButton.addEventListener("click", load器模块拖拽到视图中。 - 右键单击计数器模块,然后选择“Add Connection”。 More); </script> </body> </html> ``` 注意,这个示例是模拟数据,实际使用时- 选择时钟资源,然后单击“OK”。现在计数器已经与时钟资源连接起来了应该从数据库或其他数据源获取数据。此外,这个示例使用了一些JavaScript和CSS技巧,如果您不熟悉这些技术,请事先了解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值