我正在创建一个包,其中包含一些我经常使用的功能,而某些功能需要获取其参数的一部分。我通常对所有信号都使用downto
方向,但有时信号会意外地更改其方向,例如,附加零位(sig & '0'
)似乎会将方向更改为正。
是否有一种方法可以独立于切片(std_logic_vector
,unsigned
,signed
)的方向?例如,您将如何实现一个采用最低两位的函数?我想到的唯一实现是使用具有预期方向的附加常量:
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不喜欢这样。
答案 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);