Skip to main content
removed signature
Source Link
m.Alin
  • 10.8k
  • 20
  • 65
  • 89

I've created a project on Github called X-MimeTypes which aims to provide a basis which the community can use to once and for all create a proper knowledge base about the file types used in the EDA industry.

This approach has some advantages over just listing all known files in a list as done in the previous answer:

  • Its on Github, thus its open and its version controlled so that you can view a full history.

  • The format used matches that of the OpenDesktop mimetype database. Again, there are many advantages in using this approach.

  • It is proven.

  • It can be extended. The current extensions allows each type to be marked as generated or not. Very useful for version control and cleanup operations etc.

  • On Linux you can add this file to your system's mime database and all programs will recognize the types in the file.

  • It supports the ability to classify files using magic headers etc. An example of why this is necessary is a Xilinx binary configuration file which ends with *.bin. The standard mime type database defines a .bin file as application/octet-stream, thus it will be handled as a normal binary file and it won't be picked up as a Xilinx binary configuration file. The mimetype specification easily solves this problem using magic headers. Thus, a possible correct mimetype definition for a Xilinx .bin file is:

  <mime-type type="application/vnd.xilinx.bitgen.binary_configuration_file">
    <comment xml:lang="en">Xilinx Binary Configuration File</comment>
    <glob pattern="*.bin"/>
    <magic priority="60">
      <match type="string" value="\xff\xff\xff\xff" offset="0"/>
    </magic>  
    <x:generated>true</x:generated>
  </mime-type>
  • Anyone can file bugs against the repository, clone it etc.
  • Its not vendor specific.

The EDA mime types can be accessed here.

Such a project really requires the power of the crowd, thus each small contribution will make the database more useful to many FPGA designers out there.

Cheers,

Jaco

I've created a project on Github called X-MimeTypes which aims to provide a basis which the community can use to once and for all create a proper knowledge base about the file types used in the EDA industry.

This approach has some advantages over just listing all known files in a list as done in the previous answer:

  • Its on Github, thus its open and its version controlled so that you can view a full history.

  • The format used matches that of the OpenDesktop mimetype database. Again, there are many advantages in using this approach.

  • It is proven.

  • It can be extended. The current extensions allows each type to be marked as generated or not. Very useful for version control and cleanup operations etc.

  • On Linux you can add this file to your system's mime database and all programs will recognize the types in the file.

  • It supports the ability to classify files using magic headers etc. An example of why this is necessary is a Xilinx binary configuration file which ends with *.bin. The standard mime type database defines a .bin file as application/octet-stream, thus it will be handled as a normal binary file and it won't be picked up as a Xilinx binary configuration file. The mimetype specification easily solves this problem using magic headers. Thus, a possible correct mimetype definition for a Xilinx .bin file is:

  <mime-type type="application/vnd.xilinx.bitgen.binary_configuration_file">
    <comment xml:lang="en">Xilinx Binary Configuration File</comment>
    <glob pattern="*.bin"/>
    <magic priority="60">
      <match type="string" value="\xff\xff\xff\xff" offset="0"/>
    </magic>  
    <x:generated>true</x:generated>
  </mime-type>
  • Anyone can file bugs against the repository, clone it etc.
  • Its not vendor specific.

The EDA mime types can be accessed here.

Such a project really requires the power of the crowd, thus each small contribution will make the database more useful to many FPGA designers out there.

Cheers,

Jaco

I've created a project on Github called X-MimeTypes which aims to provide a basis which the community can use to once and for all create a proper knowledge base about the file types used in the EDA industry.

This approach has some advantages over just listing all known files in a list as done in the previous answer:

  • Its on Github, thus its open and its version controlled so that you can view a full history.

  • The format used matches that of the OpenDesktop mimetype database. Again, there are many advantages in using this approach.

  • It is proven.

  • It can be extended. The current extensions allows each type to be marked as generated or not. Very useful for version control and cleanup operations etc.

  • On Linux you can add this file to your system's mime database and all programs will recognize the types in the file.

  • It supports the ability to classify files using magic headers etc. An example of why this is necessary is a Xilinx binary configuration file which ends with *.bin. The standard mime type database defines a .bin file as application/octet-stream, thus it will be handled as a normal binary file and it won't be picked up as a Xilinx binary configuration file. The mimetype specification easily solves this problem using magic headers. Thus, a possible correct mimetype definition for a Xilinx .bin file is:

  <mime-type type="application/vnd.xilinx.bitgen.binary_configuration_file">
    <comment xml:lang="en">Xilinx Binary Configuration File</comment>
    <glob pattern="*.bin"/>
    <magic priority="60">
      <match type="string" value="\xff\xff\xff\xff" offset="0"/>
    </magic>  
    <x:generated>true</x:generated>
  </mime-type>
  • Anyone can file bugs against the repository, clone it etc.
  • Its not vendor specific.

The EDA mime types can be accessed here.

Such a project really requires the power of the crowd, thus each small contribution will make the database more useful to many FPGA designers out there.

Source Link

I've created a project on Github called X-MimeTypes which aims to provide a basis which the community can use to once and for all create a proper knowledge base about the file types used in the EDA industry.

This approach has some advantages over just listing all known files in a list as done in the previous answer:

  • Its on Github, thus its open and its version controlled so that you can view a full history.

  • The format used matches that of the OpenDesktop mimetype database. Again, there are many advantages in using this approach.

  • It is proven.

  • It can be extended. The current extensions allows each type to be marked as generated or not. Very useful for version control and cleanup operations etc.

  • On Linux you can add this file to your system's mime database and all programs will recognize the types in the file.

  • It supports the ability to classify files using magic headers etc. An example of why this is necessary is a Xilinx binary configuration file which ends with *.bin. The standard mime type database defines a .bin file as application/octet-stream, thus it will be handled as a normal binary file and it won't be picked up as a Xilinx binary configuration file. The mimetype specification easily solves this problem using magic headers. Thus, a possible correct mimetype definition for a Xilinx .bin file is:

  <mime-type type="application/vnd.xilinx.bitgen.binary_configuration_file">
    <comment xml:lang="en">Xilinx Binary Configuration File</comment>
    <glob pattern="*.bin"/>
    <magic priority="60">
      <match type="string" value="\xff\xff\xff\xff" offset="0"/>
    </magic>  
    <x:generated>true</x:generated>
  </mime-type>
  • Anyone can file bugs against the repository, clone it etc.
  • Its not vendor specific.

The EDA mime types can be accessed here.

Such a project really requires the power of the crowd, thus each small contribution will make the database more useful to many FPGA designers out there.

Cheers,

Jaco