首页 > 其他分享 >Verilog - ASCII码与16进制相互转换(Task语句,多个ASCII码转换)

Verilog - ASCII码与16进制相互转换(Task语句,多个ASCII码转换)

时间:2024-09-16 10:19:59浏览次数:17  
标签:Task 转换 cfg hex data adc ascii ASCII reg

编程思想:

1. 使用case语句,将Ascii码与Hex对应关系连接;

2. 使用Task语句将Ascii码转Hex作为一个任务

3. 调用Task语句,将8bit Ascii码转换为4bit Hex数据

4. 将n个8bit ASCII转为n个4bit Hex数据进行数据拼接,输出n*4 bit HEX数据

module ascii_to_hex
(
    input                 clk                      ,///25M系统时钟
    input                 rst_n                    ,

    input    [47:0]       s_adc_cfg_data_ascii     ,//输入6个ascii码
    output   [23:0]       s_adc_cfg_data_hex        //输出6个HEX数据

);

 reg    [3:0]       o_adc_cfg_data_hex_6     ;
 reg    [3:0]       o_adc_cfg_data_hex_5     ;
 reg    [3:0]       o_adc_cfg_data_hex_4     ;
 reg    [3:0]       o_adc_cfg_data_hex_3     ;
 reg    [3:0]       o_adc_cfg_data_hex_2     ;
 reg    [3:0]       o_adc_cfg_data_hex_1     ;


always @(*) begin

//-----------------------------ascii转hex 解析-----------------------------------------

 ascii2binary(s_adc_cfg_data_ascii[47:40] ,o_adc_cfg_data_hex_6 )  ;

标签:Task,转换,cfg,hex,data,adc,ascii,ASCII,reg
From: https://blog.csdn.net/qq_19000141/article/details/142299202

相关文章