背景描述:将一个独热码转换成二进制。
分析:由于当前使用的zynq是6输入的lut,设计一个较简单的12bit独热码转换为4bit的二进制。根据如下代码可以知道每一个bit都可以用一个lut解决问题。
第一版的代码:
assign binary_data = binary;
always @(posedge clk) begin
case(onehot_data)
VAL_0 : binary <= 4'b0000;
VAL_1 : binary <= 4'b0001;
VAL_2 : binary <= 4'b0010;
VAL_3 : binary <= 4'b0011;
VAL_4 : binary <= 4'b0100;
VAL_5 : binary <= 4'b0101;
VAL_6 : binary <= 4'b0110;
VAL_7 : binary <= 4'b0111;
VAL_8 : binary <= 4'b1000;
VAL_9 : binary <= 4'b1001;
VAL_10 : binary <= 4