方向独立切片

时间:2018-06-21 11:47:51

标签: vhdl slice

我正在创建一个包,其中包含一些我经常使用的功能,而某些功能需要获取其参数的一部分。我通常对所有信号都使用downto方向,但有时信号会意外地更改其方向,例如,附加零位(sig & '0')似乎会将方向更改为正。

是否有一种方法可以独立于切片(std_logic_vectorunsignedsigned)的方向?例如,您将如何实现一个采用最低两位的函数?我想到的唯一实现是使用具有预期方向的附加常量:

function take_two(x : std_logic_vector) return std_logic_vector is
    constant cx : std_logic_vector(x'length-1 downto 0) := x;
begin
    return cx(1 downto 0);
end function;

我也尝试过类似x(x'low+1 downto x'low)的方法,但是Quartus不喜欢这样。

1 个答案:

答案 0 :(得分:0)

问题实际上不在输入上,而是在所需的输出上。你喜欢哪个?

如果您查看功能如何在例如std_logic_1164-body.vhdl中实现,则您的功能将类似(在完整示例中):

 FileOutputStream fo;
    try {
        name_of_imagefile.createNewFile();
        fo = new FileOutputStream(name_of_imagefile);
        fo.write(bytes.toByteArray());
        fo.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    Bitmap resizedBitmap = Bitmap.createScaledBitmap(thumbnail, 350, 350, false);
    ByteArrayOutputStream bytes2 = new ByteArrayOutputStream();
    resizedBitmap.compress(Bitmap.CompressFormat.JPEG, 90, bytes2);

    String encoded = "data:image/jpeg;base64,"+Base64.encodeToString( bytes2 .toByteArray(), Base64.DEFAULT);
相关问题