FPGA 十进制 转化为二进制
生活随笔
收集整理的這篇文章主要介紹了
FPGA 十进制 转化为二进制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?請原諒: 代碼還沒有寫完,后面一定補上
module operation(input clk ,input rst_n,output reg [3:0] num_add,output reg [3:0] num_sub,output reg [6:0] num_mul, output reg [3:0] num_div,output reg [3:0] num_rem,output reg [9:0] num_bin ); reg [3:0] num1; reg [3:0] num2; reg [9:0] bin_num; reg [3:0] cnt; reg [9:0] ans; // 加減乘除四則運算 always@(posedge clk or negedge rst_n)begin if(!rst_n)begin num1<=4'd8;num2<=4'd2;end else begin num_add<=num1+num2;num_sub<=num1-num2;num_mul<=num1*num2;num_rem<=num1%num2;num_div<=num1/num2;end end // 十進制如何轉化為二進制, 二進制的最開始的余數為低位,后面得到的余數為高位,利用拼接的方法always@(posedge clk or negedge rst_n)begin if(!rst_n)begin bin_num<=10'b0;cnt<=4'd0;ans<= ;end else begin <=end end endmodule驗證代碼:
`timescale 1ns/1ns module operation_tb();reg clk; reg rst_n; wire [3:0] num_add; wire [3:0] num_sub; wire [6:0] num_mul; wire [3:0] num_div; wire [3:0] num_rem;parameter T=20; initial begin clk=1'b0;rst_n=1'b0;#20 rst_n = 1'b1; //在第20ns的時候復位信號信號拉高 #1000 $stop; end always#(T/2) clk<=~clk; operation operation_v1(.clk (clk),.rst_n (rst_n),.num_add (num_add),.num_sub (num_sub),.num_mul (num_mul), .num_div (num_div),.num_rem (num_rem) );endmodule??
總結
以上是生活随笔為你收集整理的FPGA 十进制 转化为二进制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu 终端显示英文,桌面环境显示
- 下一篇: 【FPGA】数码管电子时钟