日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【FPGA基础】四位二进制--格雷码转换器(vivado)

發布時間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【FPGA基础】四位二进制--格雷码转换器(vivado) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【設計要求】

設計一個4位的二進制格雷碼轉換電路
編寫代碼并進行仿真

【格雷碼】

格雷碼是任意兩個相鄰的代碼只有一位二進制數不同的編碼,它與奇偶校驗碼同屬可靠性編碼。

【設計思路】
從對應的n位二進制碼中直接得到n位格雷碼,需要先對n位二進制從右到左,以0—n-1編號。如果二進制碼的第i位和第i+1位相同則第i位格雷碼為0,反之則為1.(0<= i <= n-1)

【BCD_TRANS.v】

timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2020/07/28 12:53:18 // Design Name: znj // Module Name: BCD_TRANS // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // //module BCD_TRANS( input[3:0] bin4, input clk,output reg[3:0] gray4);//中間變量 integer i; always @*beginfor(i = 0;i < 4;i = i + 1)if(i == 3)begingray4[i] = bin4[i];endelsebegingray4[i] = bin4[i] ^ bin4[i+1];endend endmodule

【sim1.v】

timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2020/07/28 13:16:11 // Design Name: // Module Name: sim1 // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // //module sim1();reg clk =0;reg[3:0] bin4;wire[3:0] gray4;BCD_TRANS test(.clk(clk),.bin4(bin4),.gray4(gray4));integer i;alwaysbeginfor(i = 0;i < 4;i = i + 1)bin4[i] <= {$random} % 2;#10 clk = ~clk;endendmodule

【仿真驗證】

總結

以上是生活随笔為你收集整理的【FPGA基础】四位二进制--格雷码转换器(vivado)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。